php数组问题

49次阅读

有数组1和数组2,我想把数组1的值作为key,数组2的值作为value,存在数组3中,有什么方法吗?

Brightness

<?php
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
?>

P酱

如果两个数组的个数一致且数组1和数组2的值相对应的话,直接用循环就可以搞定了吧。
下面是我测试用的代码,测试过没有问题的。

<?php
$a = array('a', 'b', 'c', 'd');
$b = array('1', '2', '3', '4');
$c = array();
for($i=0,$l=count($b);$i<$l;$i++) {
    $c[$a[$i]] = $b[$i];
}
print_r($c);
?>

社区维基

我的思路

<?php

$arr1 = array('a','b','c','d');
$arr2 = array('1','2','3');
$array = array();
/*reset($arr1);
reset($arr2);
while( current($arr1) && current($arr2) )
{
    $key = current($arr1);
    $value = current($arr2);
    $array[$key] = $value;
    next($arr1);
    next($arr2);
}

print_r($array);*/

$m = count($arr1);
$n = count($arr2);
if($m>$n){
    $s = $n;
}else{
    $s = $m;
}
for($i=0;$i<$s;$i++)
{
    $key = $arr1[$i];
    $value = $arr2[$i];
    $array[$key] = $value;
}

print_r($array);

CANG

正文完