如何使用PHP连接两个数组?
我有两个阵列:如何使用PHP连接两个数组?,php,arrays,Php,Arrays,我有两个阵列: $browser = array("firefox", "opera", "edge"); $version = array("10", "12", "14"); 我希望以这样的方式连接它们,最终数组应为: array(0=>array("name"=>"firefox", "version"=>"10"), 1=>array("name"=>"opera", "version"=>"12"), 2=>array("name"=>
$browser = array("firefox", "opera", "edge");
$version = array("10", "12", "14");
我希望以这样的方式连接它们,最终数组应为:
array(0=>array("name"=>"firefox", "version"=>"10"), 1=>array("name"=>"opera", "version"=>"12"), 2=>array("name"=>"edge", "version"=>"14"));
代码可以包含任何内置或用户定义的函数。我试过使用:
$browser = array("firefox","opera","edge");
$version = array("10","12","14");
foreach($browser as $key=>$values){
if(!isset($array)){
$array = array("name"=>$browser[$key],"version"=>$version[$key]);
}else{
$array = array($array,array("name"=>$browser[$key],"version"=>$version[$key]));
}
}
print_r($array);
我得到的结果是:
Array ( [0] => Array ( [0] => Array ( [name] => firefox [version] => 10 ) [1] => Array ( [name] => opera [version] => 12 ) ) [1] => Array ( [name] => edge [version] => 14 ) )
还要注意的是,这段代码是用PHP编写的,应该可以处理至少10个数组长度的数据。$result=array();
$result = array();
for ($i=0; $i<count($browser); $i++) {
$result[] = array($browser[$i], $version[$i]);
}
return $result;
对于($i=0;$i我只需映射数组:
$result = array_map(function($b, $v) {
return ['browser' => $b, 'version' => $v];
}, $browser, $version);
您还可以将数组用于动态键:
$keys = ['browser', 'version'];
$result = array_map(function($b, $v) use($keys) {
return array_combine($keys, [$b, $v]);
}, $browser, $version);
但是,对于代码,只需使用if
中的第一种格式,并动态附加[]
:
foreach($browser as $key=>$values){
$array[] = array("name"=>$browser[$key],"version"=>$version[$key]);
}
提醒我,但这不包括键。为了防止这些单独的数组来自HTML表单post(因为它们经常遇到这样的问题),您可以命名输入,以便$\u post已经有了您尝试获取的最终数组。