我有两个数组。一个包含id=>count
,另一个包含id=>name
。我正在尝试生成一个数组,即name=>count
. 关于直接执行此操作的任何建议?
我查看了 PHP 手册中的 Array Functions并没有看到任何突出的做我想要的东西,所以我猜我需要一个函数组合,但我在想出一些东西时遇到了麻烦这并不复杂。
我有两个数组。一个包含id=>count
,另一个包含id=>name
。我正在尝试生成一个数组,即name=>count
. 关于直接执行此操作的任何建议?
我查看了 PHP 手册中的 Array Functions并没有看到任何突出的做我想要的东西,所以我猜我需要一个函数组合,但我在想出一些东西时遇到了麻烦这并不复杂。
就像是:
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;
}