我有這個陣列下面寫的,我知道這很心不是,對不起。我來到這個數組結構,因爲它是處理我的請求時唯一可以想到的方式。3D嵌套數組foreach語句問題
$_POST = array("person" => array(
[1] => array("id" => 1, "name" => "bob"),
[2] => array("id" => 2, "name" => "jim")
)
);
我希望能夠從某個「id」中選擇「名稱」,所以下面的代碼就是我想出來的。在下面的例子中,如果人[「ID」]等於1,檢索其「名稱」,這是「鮑勃」。
foreach ($_POST as $dataSet) {
foreach ($dataSet as $person) {
foreach ($person as $field => $value) {
if ($person["id"] == 1) {
echo $person["name"];
}
}
}
}
我遇到的問題是我執行代碼。 結果是bobbob
,
似乎代碼循環if語句兩次(與人數組中的元素數相同)。我知道,如果我把破入代碼,那麼它會解決這個問題,但任何人都知道爲什麼兩次循環?也許這會加深我的習慣和陣容的理解。
剛剛嘗試'的var_dump($人)',看看你的'if' :) –
可能的複製[多維數組搜索的價值](https://stackoverflow.com/questions/6661530/php-multidimensional-array-search-by-value) – mickmackusa