3v4l.org

run code in 300+ PHP versions simultaneously
<?php $persons = '[ {"FrstName":"Henry","Middlename":"","LastName":"Walton","Online":true,"DeptId":"4"}, {"FrstName":"Klaus","Middlename":"","LastName":"Mikaelson","Online":true,"DeptId":"2"}, {"FrstName":"Kylo","Middlename":"","LastName":"Ren","Online":false,"DeptId":"4"}, {"FrstName":"Stan","Middlename":"","LastName":"Lee","Online":false,"DeptId":"3"}, {"FrstName":"Kevin","Middlename":"","LastName":"McNally","Online":false,"DeptId":"3"}, {"FrstName":"Katherine","Middlename":"","LastName":"Pierce","Online":false,"DeptId":"2"}, {"FrstName":"Clint","Middlename":"","LastName":"Barton","Online":true,"DeptId":"3"}, {"FrstName":"Avery","Middlename":"","LastName":"Walton","Online":true,"DeptId":"4"}, {"FrstName":"Peter","Middlename":"","LastName":"Kap","Online":true,"DeptId":"2"}, {"FrstName":"Denzo","Middlename":"","LastName":"Falc","Online":false,"DeptId":"4"}, {"FrstName":"Eveline","Middlename":"","LastName":"Benzel","Online":false,"DeptId":"3"}, {"FrstName":"Bill","Middlename":"","LastName":"Libuz","Online":false,"DeptId":"3"}, {"FrstName":"April","Middlename":"","LastName":"Gonzo","Online":false,"DeptId":"2"}, {"FrstName":"Harry","Middlename":"","LastName":"Geraldson","Online":true,"DeptId":"3"}, {"FrstName":"Heraldson","Middlename":"","LastName":"McGree","Online":false,"DeptId":"3"}, {"FrstName":"Abraham","Middlename":"","LastName":"Retz","Online":true,"DeptId":"4"}, {"FrstName":"June","Middlename":"","LastName":"Pharee","Online":true,"DeptId":"2"}, {"FrstName":"Anthony","Middlename":"","LastName":"Gonzales","Online":false,"DeptId":"4"}, {"FrstName":"Billy","Middlename":"","LastName":"Scott","Online":false,"DeptId":"3"}, {"FrstName":"Anika","Middlename":"","LastName":"Rose","Online":false,"DeptId":"3"}, {"FrstName":"Kristen","Middlename":"","LastName":"Fontana","Online":false,"DeptId":"2"}, {"FrstName":"Olivia","Middlename":"","LastName":"Menzel","Online":true,"DeptId":"3"}, {"FrstName":"Mark","Middlename":"van","LastName":"Gad","Online":false,"DeptId":"3"}, {"FrstName":"Hope","Middlename":"van","LastName":"Dyne","Online":false,"DeptId":"3"} ]'; // Make the JSON an array, so count() and array_slice() work $persons = json_decode($persons, true); $page = ! empty( $_GET['page'] ) ? (int) $_GET['page'] : 1; $total = count( $persons ); //total items in array // $limit = 10; //per page // Set limit to 3 for testing: $limit = 3; $totalPages = ceil( $total/ $limit ); //calculate total pages $page = max($page, 1); //get 1 page when $_GET['page'] <= 0 $page = min($page, $totalPages); //get last page when $_GET['page'] > $totalPages // Uncomment this for testing // $page = 2; $offset = ($page - 1) * $limit; if( $offset < 0 ) $offset = 0; $yourDataArray = array_slice( $persons, $offset, $limit ); $link = 'index.php?page=%d'; $pagerContainer = '<div style="width: 300px;">'; if( $totalPages != 0 ) { if( $page == 1 ) { $pagerContainer .= ''; } else { $pagerContainer .= sprintf( '<a href="' . $link . '" style="color: #c00"> &#171; prev page</a>', $page - 1 ); } $pagerContainer .= ' <span> page <strong>' . $page . '</strong> from ' . $totalPages . '</span>'; if( $page == $totalPages ) { $pagerContainer .= ''; } else { $pagerContainer .= sprintf( '<a href="' . $link . '" style="color: #c00"> next page &#187; </a>', $page + 1 ); } } $pagerContainer .= '</div>'; echo $pagerContainer; foreach($yourDataArray as $person) { echo "\n"; echo "First name: " . $person['FrstName']; echo " - Middle name: " . $person['Middlename']; echo " - Last name: " . $person['LastName']; echo " - Online: " . $person['Online']; echo " - Dept: " . $person['DeptId']; }
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.4, 8.3.6 - 8.3.7
<div style="width: 300px;"> <span> page <strong>1</strong> from 8</span><a href="index.php?page=2" style="color: #c00"> next page &#187; </a></div> First name: Henry - Middle name: - Last name: Walton - Online: 1 - Dept: 4 First name: Klaus - Middle name: - Last name: Mikaelson - Online: 1 - Dept: 2 First name: Kylo - Middle name: - Last name: Ren - Online: - Dept: 4
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 <div style="width: 300px;"> <span> page <strong>1</strong> from 8</span><a href="index.php?page=2" style="color: #c00"> next page &#187; </a></div> First name: Henry - Middle name: - Last name: Walton - Online: 1 - Dept: 4 First name: Klaus - Middle name: - Last name: Mikaelson - Online: 1 - Dept: 2 First name: Kylo - Middle name: - Last name: Ren - Online: - Dept: 4

preferences:
107.93 ms | 406 KiB | 159 Q