Php 使用数组时形成的格式不正确的数值

Php 使用数组时形成的格式不正确的数值,php,arrays,pagination,array-splice,Php,Arrays,Pagination,Array Splice,我在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;

我在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_查询字符串时,它会给我正确的0、10、20、30值,如果我在函数中手动输入0、10、20等,它会正常工作。即使格式正确,为什么仍会发生此错误


注意:当我将@符号放在阵列拼接线之前时,代码工作正常。。。只是想知道为什么会发生此错误。

您似乎为该方法传递了错误的参数。第二个参数是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);

工作得很好!谢谢在我看来,我的代码仍然可以工作。。。但在任何情况下,您所做的更改都使它能够正常工作,因此这始终是最好的:)将第二个参数强制转换为整数非常重要。e、 g.(int)$second_参数