我想返回给定键的数组中的所有值。例如,如果我选择的键是“a”,我想要返回“redpinkmaroon”。目前我只是得到'maroon',这是最后的元素。
$newarray = array("a"=>"red","b"=>"green","c"=>"blue","a"=>"pink","a"=>"maroon");
foreach($newarray as $key => $value) {
if ($key === "a") { echo $value; }
}
任何想法都非常感激。
答案 0 :(得分:1)
那是因为只有一个a
键。键是唯一的,因此下面的键会覆盖前一个键。来自PHP: Arrays:
如果数组声明中的多个元素使用相同的键,则只会使用最后一个元素,因为所有其他元素都会被覆盖。
尝试print_r($newarray);
查看。
您可以在键a
:
$newarray = array("a"=>array("red","pink","maroon"),"b"=>"green","c"=>"blue");
然后循环a
键:
foreach($newarray['a'] as $value) {
echo $value;
}
答案 1 :(得分:0)
试试这个,
$newarray = array("a"=>array("red","pink","maroon"),"b"=>"green","c"=>"blue");
foreach($newarray as $key => $value) {
if ($key === "a") {
foreach ($value as $color) {
echo $color;
}
}
}
答案 2 :(得分:0)
您可以尝试制作二维数组,例如
$newarray = [
"a" => ['red','pink','maroon'],
"b" => ['green'],
"c" => ['blue']
];
然后你可以访问这样的值:
$newarray['a']
将返回包含红色粉红色和栗色的数组