0

我有两个数组。一个包含id=>count,另一个包含id=>name。我正在尝试生成一个数组,即name=>count. 关于直接执行此操作的任何建议?

我查看了 PHP 手册中的 Array Functions并没有看到任何突出的做我想要的东西,所以我猜我需要一个函数组合,但我在想出一些东西时遇到了麻烦这并不复杂。

4

2 回答 2

4

就像是:

foreach($countA as $id => $count)
{
    $newArray[$nameA[$id]] = $count;
}

这确实假设键在两个数组之间是对应的,因为否则您的要求是模棱两可的。

于 2008-10-09T14:29:49.643 回答
2

使用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;
}
于 2008-10-09T14:29:50.223 回答