我有两个数组。一个包含id=>count
,另一个包含id=>name
。我正在尝试生成一个name=>count
的数组。有关直接方式的任何建议吗?
我看过Array Functions in the PHP Manual并没有看到任何突出的东西做我想要的东西,所以我猜我需要一组功能,但我很难想出一些没有错综复杂的东西。
就像是:
foreach($countA as $id => $count)
{
$newArray[$nameA[$id]] = $count;
}
这确实假设密钥在两个数组之间是对应的,因为否则你的要求是模糊的。
使用array_combine ......
$countArray = array(0 => 1, 1 => 5);
$namesArray = array(0 => "Bob", 1 => "Alice");
$assocArray = array_combine($namesArray, $countArray);
编辑:这是针对评论#2中表达的新要求的修订解决方案
$assocArray = array();
foreach($namesArray as $id => $name) {
$assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}