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']; }

preferences:
24.98 ms | 409 KiB | 5 Q