我在PHP中使用array_slice,如下所示:
if (isset($_GET['page']) && !isset($no_pagination)) {
$page_num = mysql_real_escape_string($_GET['page']);
$limit_value_from = $page_num * 10;
$limit_value_to = $limit_value_from + 10;
$limit_query = $limit_value_from.", ".$limit_value_to;
}
if (!isset($no_pagination) && isset($limit_query)) {
$usernames_new = array_splice($usernames, $limit_query);
$usernames = $usernames_new;
}
当我运行脚本时,它会给我这个错误:遇到一个非常好的数值。当我回显$ limit_query字符串时,它给出了正确的0,10 10,20 20,30个值,如果我手动输入0,10 10,20等函数,它可以正常工作。为什么即使格式正确也会发生此错误?
注意:当我在数组拼接线之前放置@符号时,代码工作正常......只是想知道为什么会出现这个错误。
答案 0 :(得分:2)
您希望为该方法传递错误的参数。第二个参数是INT。
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
试试这个:
$usernames_new = array_splice($usernames, $limit_value_from, $limit_value_to);