0
$array = [
[
"UF" => "Goias",
[
"Nome" => [
"Avenor",
"KENNEDY",
"JOSE"
],
"Fone" => [
"+55 (91) 1111-1111",
"+55 (33) 2222-2222",
"+55 (93) 3333-3333"
],
"Email" => [
"[email protected]",
"[email protected]",
"[email protected]"
]
]
],
[
"UF" => "Amazonas",
[
"Nome" => [
"Kelsen",
"Joao",
"Kenia"
],
"Fone" => [
"+55 (91) 4444-4444",
"+55 (33) 5555-5555",
"+55 (93) 6666-6666"
],
"Email" => [
"[email protected]",
"[email protected]",
"[email protected]"
]
]
]
];
我想創建一個列表,通過搜索這個數組並填充列表itens。 例如:當用戶選擇「Goias」時,我必須在數組中搜索「Goias」,並返回一個包含「Nome」,「Fone」和「Email」的列表,但我找不到一種方法來循環這個數組並返回正確的值。如何從多維數組中搜索和檢索值?
$selected = isset($_POST['selected']) ? $_POST['selected'] : 'nothing';
$key = array_search($selected,array_column($array, 'UF'));
foreach ($array[$key] as $data){
echo '<li><p>Nome: '.$data["Nome"].'</p><p>Fone: '.$data["Fone"].'</p><p>E-mail: '.$data["Email"].'</p></li>';
};
編輯:
我試着這樣做:
echo
'<div class="representante-wrapper">
<h3>'.$selected.'</h3>';
foreach ($array[$key] as $data){
foreach($data as $value){
echo '<ul class="flex" id="dados" style="opacity: 1;">';
var_dump($value);
foreach($value["Nome"] as $nome){
echo '<li><p>Nome: '.$nome.'</p></li>';
}
foreach($value["Fone"] as $fone){
echo '<li><p>Fone: '.$fone.'</p></li>';
}
foreach($value["Email"] as $email){
echo '<li><p>E-mail: '.$email.'</p></li>';
}
echo '</ul>';
}
};
echo '</div>';
但結果不是我所期望
Nome: Kelsen
Nome: Joao
Nome: Kenia
Fone: +55 (91) 4444-4444
Fone: +55 (33) 5555-5555
Fone: +55 (93) 6666-6666
E-mail: [email protected]
E-mail: [email protected]
E-mail: [email protected]
我想這個如下,在每個陣列您的清單:
Nome: Kelsen
Fone: +55 (91) 4444-4444
E-mail: [email protected]
Nome: Joao
Fone: +55 (33) 5555-5555
E-mail: [email protected]
Nome: Kenia
Fone: +55 (93) 6666-6666
E-mail: [email protected]
它不工作,PHP的回報: 「未定義指數:諾姆」; 「提供給foreach()的參數無效」 – kelsen
檢查上面編輯的代碼 – Rajnish