php数组问题

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

阅读 5.8k
3 个回答
<?php
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
?>

如果两个数组的个数一致且数组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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题