我有一个XML文件中的多维数组,我想将其与普通数组进行比较。 我需要将多维数组中的[标签]名称与另一个数组中的名称进行比较,并从属于该标签的多维数组中获取值。 我需要将其与多维数组进行比较的第二个数组: 现在,我要检查多维数组中$ compare_array的键是否匹配。 如 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有两个数组:
$mainArray = array(
['id' => 1, 'name' => 'test'],
['id' => 2, 'name' => 'news'],
['id' => 3, 'name' => 'foo'],
['id' => 4, 'name' => 'bar']...
);
$array = array(1,2,5,6,7);
我需要检查$ mainArray中的id是否包含在$ array中 ,以及是否包含它需要打印的名称。 我怎样才能做到这一点?
简单!
foreach($mainArray as $arr) {
if(in_array($arr['id'], $array)) {
echo $arr['id'];
}
}
这应该为您工作:
(使用此解决方案,您有一个数组,其中id
为key
, name
为value
)
<?php
$mainArray = array(
['id' => 1, 'name' => 'test'],
['id' => 2, 'name' => 'news'],
['id' => 3, 'name' => 'foo'],
['id' => 4, 'name' => 'bar']
);
$array = array(1,2,5,6,7);
$result = array();
foreach($mainArray as $k => $v)
$result[$v["id"]] = (array_intersect($mainArray[$k], $array) ? $mainArray[$k]["name"] : "");
$result = array_filter($result);
print_r($result);
?>
输出:
Array ( [1] => test [2] => news )
您可以轻松地通过数组打印出所有类似的信息:
array_walk($result, function($value, $key) {
echo "Key: $key Value: $value <br />";
});
//OR
foreach($result as $key => $value)
echo "Key: $key Value: $value <br />";
输出:
Key: 1 Value: test
Key: 2 Value: news
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.