我还是个新手。
我的问题:警告: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层?
非常感谢!
代码:
$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
)
)
这里有一个bug:
array_push($floorArray, $floorNum);
array_push($floorArray[$floorNum], $row['room_no']);
第一行将值为$floorNum
的元素推入数组,但第二行期望存在键等于$floorNum
的元素。
你可以做你想做的更简单:
foreach($array as $row)
{
$floorNum = substr($row['room_no'],0,1);
$floorArray[$floorNum][] = $row['room_no'];
}