array_push没有数组作为参数?

时间:2015-07-14 07:20:13

标签: php arrays function

这是我的代码

$items = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
    $numCols = 4;
    $result = ArrayVals($items,$numCols);
    echo $result;
    function ArrayVals($items,$numCols) {
        $minRow = floor(count($items)/$numCols);
        $remaining = count($items) % $numCols;
        $cCount = array();
        for ($i = 0;$i<$numCols;$i++) {
            if ($i < $remaining) {
                array_push($cCount,$minRow+1);
            } else {
                array_push($colCount,$minRow);
            }
        }
        $listString = '';
        $count = 0;
        for ($i = 0;$i<count($cCount);$i++) {
            $listString = $listString . "<ul>";
            for ($j = 0;$j<$cCount[$i];$j++) {
                $listString = $listString . '<li>' . $items[$count] . '</li>';
                $count = $count + 1;
            }
            $listString = $listString . '</ul>';
        }
        return $listString;

我正在接受

  

警告:array_push()期望参数1为数组,null中给出null   第20行的C:\ UniServer \ www \ RnD \ Test2 \ t2.php

我应该如何解决呢

3 个答案:

答案 0 :(得分:1)

在for循环之前将 $ colCount 初始化为 array()

$colCount=array();

答案 1 :(得分:0)

变量$colCount未在其范围内定义。在$colCount

中初始化变量function ArrayVals().

答案 2 :(得分:0)

$colCount未定义。 array_push期望第一个参数是一个数组。

Read manual