我有两个数组。一个包含 id => count ,另一个包含 id => name 。我正在尝试生成一个 name => count 的数组。有关直截了当的方法的任何建议吗?

我查看了 PHP手册中的数组函数并没有看到任何突出的东西做我想做的事情,所以我猜我需要一系列功能,但是我很难找到一些没有错综复杂的东西。

有帮助吗?

解决方案

类似的东西:

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;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top