将元素附加到数组(2d数组)中的现有数组 - PHP

时间:2011-04-24 23:29:57

标签: php arrays

我还是PHP新手。

我的问题: 警告:array_push()期望参数1为数组

描述: 我有一个我正在解析的房间号码列表。房间号码的第一个数字是指房间的楼层。我想创建一个保存楼层号的二维数组,每个楼层都包含房间。

代码:

    $array = self::getAllRooms();
    $floorArray = array();
    foreach($array as $row)
    {
        $floorNum = substr($row['room_no'],0,1);
        if (in_array($floorNum, $floorArray))
        {
            array_push($floorArray[$floorNum], $row['room_no']);
        }
        else 
        {
            array_push($floorArray, $floorNum);
            array_push($floorArray[$floorNum], $row['room_no']);
        }
    }

如何将房间号码附加到1楼的“1”类别?

非常感谢!

2 个答案:

答案 0 :(得分:1)

代码:

$array = array(array('Stack','Overflow'));

$array[0][] = '.com';
// or
array_push($array[0],'.com');

输出:

Array
(
    [0] => Array
        (
            [0] => Stack
            [1] => Overflow
            [2] => .com
            [3] => .com
        )

)

答案 1 :(得分:0)

你有一个错误:

array_push($floorArray, $floorNum);
array_push($floorArray[$floorNum], $row['room_no']);

第一行将{em>值 $floorNum的元素推送到数组中,但第二行需要的元素等于{{ 1}}出席。

你可以做你想要的更简单的事情:

$floorNum