function GetImages($orderByDate, $start, $end)
{
$container = array();
if ($handle = opendir('uploads'))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$filename = 'uploads/' . $file;
$lastEdit = date("F d Y H:i:s.", filemtime($filename));
$image = array(
'fileName' => $file,
'lastEdit' => $lastEdit
);
array_push($container, $image);
}
}
closedir($handle);
}
if($orderByDate)
{
function date_compare($a, $b)
{
$t1 = strtotime($a['lastEdit']);
$t2 = strtotime($b['lastEdit']);
return $t1 - $t2;
}
usort($container, 'date_compare');
}
if(isset($start) && isset($end))
{
array_slice($container, $start, $end);
}
return $container;
}
echo '<pre>';
var_dump(GetImages(true, 0, 5));
echo '</pre>';
不是slice
去往这里的路吗?即使我传递了开始值和结束值,我仍然可以从数组中获取所有记录。感谢
答案 0 :(得分:0)
array_slice返回一个数组,不修改传递的数组
$container = array_slice($container, $start, $end);
应解决您的问题
答案 1 :(得分:0)
而不是这个
array_slice($container, $start, $end);
你应该写
$container = array_slice($container, $start, $end);
它应该会更好。