当我运行php时,我遇到了这个array_push问题。回声印刷了3次,但我的阵列没有被推3次,只有一次。
我的输入:从Php数据库ID读取并占用。例如。 ID = A1占用= 1或0(任一)
我想要的输出:一个二维阵列
例如:echo $ seats [0] [1] = 1
$ seats = array(array(“A”,1,1,1,1,1,1,1,1,1,1,1,1)
他们给我看的错误是“Undefined offset”。 这是我的代码:
$sql = "SELECT ID,Occupied FROM booking";
$result = mysqli_query($connection, $sql);
$seatrow = array();
if ($result->num_rows > 0) {
$rowA = array("A");
while ($row = $result->fetch_assoc()) {
echo "<br> id: " . $row["ID"] . " Seated? " . $row["Occupied"] . "<br>";
if (strpos($row["ID"], 'A') !== False) {
array_push($rowA,$row["Occupied"]);
array_push($seatrow,$rowA);
echo $seatrow[0][2];
}
}
}
答案 0 :(得分:0)
$Result = array();
while ($row = $result->fetch_assoc()) {
if (strpos($row["ID"], 'A') !== false) {
$Result['A'][] = $row["Occupied"];
}elseif(strpos($row["ID"], 'B') !== false) {
$Result['B'][] = $row["Occupied"];
}
}
var_dump($Result);
这应返回您想要的内容,同时使用“A”或“B”作为数组的键以便于访问。
因此,如果您想检查“A”,则只需foreach ($Result['A'] as $Occupied)
当然,您可以执行foreach ($Result as $Group => $Occupations)
之类的操作,然后在其中foreach ($Occupations as $Occupied)
获取列表中每个项目的状态。