我需要映射
Array
(
[0] => Array
(
[cid] => 1
[value] => red
)
[1] => Array
(
[cid] => 2
[value] => green
)
[2] => Array
(
[cid] => 3
[value] => pink
)
[3] => Array
(
[cid] => 4
[value] => yellow
)
)
要:
Array
(
[0] => 2
[1] => 3
[2] => 1
)
我需要映射second
数组值[0] => 2到first
数组中的cid。换句话说,我需要2来映射到值绿色。
有任何帮助吗?谢谢。
答案 0 :(得分:3)
我首先将第一个数组更改为更容易检查的内容。
<?php
$temp = array();
foreach ($array1 as $val) {
$temp[$val['cid']] = $val['value'];
}
?>
现在你有一个数组:
$temp[1] = "red";
$temp[2] = "green";
$temp[3] = "pink";
$temp[4] = "yellow";
然后你可以在第二个数组中轻松使用它
<?php
$new= array();
foreach ($array2 as $key=>$val) {
$new[$key] = $temp[$val];
}
?>
答案 1 :(得分:2)
PHP&gt; = 5.5.0
$colors = array_column($first, 'value', 'cid');
foreach($second as $value) {
if(isset($colors[$value])) {
echo $colors[$value];
}
}
$first
是您的第一个数组,$second
显然是第二个。