如何使用字符串从多维数组中检索新数组?
n.b - 我没有检查变量的数组。我想使用字符串从多维数组中检索整个数组(作为新数组)。
假设我有一个多维数组,如下所示:
array(3) {
[0]=>
array(2) {
["foo"]=> "bar1"
["bar"]=> "foo1"
}
[1]=>
array(2) {
["foo"]=> "bar2"
["bar"]=> "foo2"
}
[2]=>
array(2) {
["foo"]=> "bar3"
["bar"]=> "foo3"
}
}
所以我在一个数组中有一个3个数组。每个数组都有相同的键,但值不同。
现在让我说我有一个变量:
$variable = "bar3";
如果变量的“foo”键与变量匹配,如何使用变量来检索整个数组。
所以输出应该是:
array(1) {
["foo"]=> "bar3"
}
答案 0 :(得分:1)
只是一个没有测试的简单例子:
$newarray = array();
foreach($array as $subarray) {
foreach( $subarray as $key => $value) {
if(!array_key_exists($key, $newarray)) {
$newarray[$key] =array();
}
array_push($newarray[$key], $value);
}
}
使用一个键生成一个新数组,并将bar1,bar2等作为子数组生成。