在PHP中,如何找到与特定键关联的值

问题描述 投票:0回答:2

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

我看过Array Functions in the PHP Manual并没有看到任何突出的东西做我想要的东西,所以我猜我需要一组功能,但我很难想出一些没有错综复杂的东西。

php arrays associative-array
2个回答
4
投票

就像是:

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

这确实假设密钥在两个数组之间是对应的,因为否则你的要求是模糊的。


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;
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.