Array_push 2d数组

时间:2015-11-18 15:49:19

标签: php html sql database array-push

当我运行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];

            }
        }
            }

1 个答案:

答案 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)获取列表中每个项目的状态。