Php 如何比较这两个数组的相同性?

Php 如何比较这两个数组的相同性?,php,arrays,Php,Arrays,我有一个由座位号组成的数组,格式如下 <?php $seatnumbers = array( "A1" => "1","A2" => "2", "B1" => "3","B2" => "4","B3" => "5", "C1" => "6","C2" => "7","C3" => "8", "D1" => "9","D2" => "10","D3" => "11", "E1" =&g

我有一个由座位号组成的数组,格式如下

<?php
 $seatnumbers = array(
    "A1" => "1","A2" => "2",
    "B1" => "3","B2" => "4","B3" => "5",
    "C1" => "6","C2" => "7","C3" => "8",
    "D1" => "9","D2" => "10","D3" => "11",
    "E1" => "12","E2" => "13","E3" => "14"
    );
?>
但只有第一个选项显示已预订。如何比较两个阵列的预留座位。
下面是我尝试使用准备好的语句以及使用
PDO::FETCH_COLUMN
来避免进一步处理来自SQL的结果集的结果。代码中有注释来说明这是如何完成的

您将不得不更改输出,但它与您所拥有的足以修改它的内容相匹配

$query = "SELECT booked_seat FROM mybooking where bus_id = :busID";

$sql = $db->prepare($query);
$sql->execute(["busID" => $l]);
// Fetch an array with just the values of booked_seat
$seat=$sql->fetchAll(PDO::FETCH_COLUMN, 0);
// Flip array so the seat name becomes the key
$seat = array_flip($seat);
$seatnumbers = array(
    "A1" => "1","A2" => "2",
    "B1" => "3","B2" => "4","B3" => "5",
    "C1" => "6","C2" => "7","C3" => "8",
    "D1" => "9","D2" => "10","D3" => "11",
    "E1" => "12","E2" => "13","E3" => "14"
);

foreach ( $seatnumbers as $seatName => $number ) {
    echo $seatName;
    // If the key is set in the seat array, then it is booked
    if ( isset($seat[$seatName]) ){
        echo " Seat booked".PHP_EOL;
    }
    else    {
        echo " Seat not booked".PHP_EOL;
    }
}

这是使用foreach的典型任务

<html>
<head></head>
<body>
<?php
    $seatnumbers = array(
    "A1" => "1","A2" => "2",
    "B1" => "3","B2" => "4","B3" => "5",
    "C1" => "6","C2" => "7","C3" => "8",
    "D1" => "9","D2" => "10","D3" => "11",
    "E1" => "12","E2" => "13","E3" => "14"
    );

    $seat = array(
    "0" => "A1","1" => "D2",
    "2" => "E1","3" => "E2","4" => "E3"
    );

    echo "<select>";
    foreach ($seatnumbers as $ikey=>$ivalue)
    {
       if(in_array($ikey,$seat)){
         echo "<option disabled>". $ikey. "(Booked)</option>";
       }else{
         echo "<option value='".$keys[$i]."'>". $ikey."-". $val[$i]. "(Available)</option>";
       }
    }
    echo "</select>";
?>
</body>
</html>


哇!按要求工作。
$query = "SELECT booked_seat FROM mybooking where bus_id = :busID";

$sql = $db->prepare($query);
$sql->execute(["busID" => $l]);
// Fetch an array with just the values of booked_seat
$seat=$sql->fetchAll(PDO::FETCH_COLUMN, 0);
// Flip array so the seat name becomes the key
$seat = array_flip($seat);
$seatnumbers = array(
    "A1" => "1","A2" => "2",
    "B1" => "3","B2" => "4","B3" => "5",
    "C1" => "6","C2" => "7","C3" => "8",
    "D1" => "9","D2" => "10","D3" => "11",
    "E1" => "12","E2" => "13","E3" => "14"
);

foreach ( $seatnumbers as $seatName => $number ) {
    echo $seatName;
    // If the key is set in the seat array, then it is booked
    if ( isset($seat[$seatName]) ){
        echo " Seat booked".PHP_EOL;
    }
    else    {
        echo " Seat not booked".PHP_EOL;
    }
}
<html>
<head></head>
<body>
<?php
    $seatnumbers = array(
    "A1" => "1","A2" => "2",
    "B1" => "3","B2" => "4","B3" => "5",
    "C1" => "6","C2" => "7","C3" => "8",
    "D1" => "9","D2" => "10","D3" => "11",
    "E1" => "12","E2" => "13","E3" => "14"
    );

    $seat = array(
    "0" => "A1","1" => "D2",
    "2" => "E1","3" => "E2","4" => "E3"
    );

    echo "<select>";
    foreach ($seatnumbers as $ikey=>$ivalue)
    {
       if(in_array($ikey,$seat)){
         echo "<option disabled>". $ikey. "(Booked)</option>";
       }else{
         echo "<option value='".$keys[$i]."'>". $ikey."-". $val[$i]. "(Available)</option>";
       }
    }
    echo "</select>";
?>
</body>
</html>