<?php
function execute($pageNumber, $pageHeight){
$commands = [
"foo" => ["name" => "foo", "desc" => "Foo Desc"],
"fuu" => ["name" => "fuu", "desc" => "Fuu Desc"],
"bar" => ["name" => "bar", "desc" => "Bar Desc"],
"baa" => ["name" => "baa", "desc" => "Baa Desc"],
"blah" => ["name" => "blah", "desc" => "Blah Desc"],
"fool" => ["name" => "fool", "desc" => "Fool Desc"],
"boof" => ["name" => "boof", "desc" => "boof Desc"],
];
ksort($commands, SORT_NATURAL | SORT_FLAG_CASE);
$commands = array_chunk($commands, $pageHeight);
$pageNumber = (int) min(count($commands), $pageNumber);
printf("PageNumber=%d, CountCommands=%d\n", $pageNumber, count($commands));
foreach($commands[$pageNumber - 1] as $command){
printf("Name=%s, Desc=%s\n", $command["name"], $command["desc"]);
}
}
execute(1, 3);
echo "===\n\n";
execute(2, 3);
echo "===\n\n";
execute(3, 3);
- Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 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.18, 8.3.0 - 8.3.4, 8.3.6
- PageNumber=1, CountCommands=3
Name=baa, Desc=Baa Desc
Name=bar, Desc=Bar Desc
Name=blah, Desc=Blah Desc
===
PageNumber=2, CountCommands=3
Name=boof, Desc=boof Desc
Name=foo, Desc=Foo Desc
Name=fool, Desc=Fool Desc
===
PageNumber=3, CountCommands=3
Name=fuu, Desc=Fuu Desc
- 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
PageNumber=1, CountCommands=3
Name=baa, Desc=Baa Desc
Name=bar, Desc=Bar Desc
Name=blah, Desc=Blah Desc
===
PageNumber=2, CountCommands=3
Name=boof, Desc=boof Desc
Name=foo, Desc=Foo Desc
Name=fool, Desc=Fool Desc
===
PageNumber=3, CountCommands=3
Name=fuu, Desc=Fuu Desc
preferences:
215.23 ms | 402 KiB | 291 Q