不带array参数的Array_push


array_push without array as parameter?

这是我的代码

$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为array, nullC:'UniServer'www'RnD'Test2't2.php on line 20

如何解决

$colCount初始化为array() before for loop

$colCount=array();

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

阅读手册

变量$colCount未在其作用域中定义。在function ArrayVals().

中初始化变量$colCount