在PHP中添加两个数组
我有两个数组,我想将其添加到一个组合数组中在PHP中添加两个数组,php,arrays,Php,Arrays,我有两个数组,我想将其添加到一个组合数组中 $first = Array ( [0] => Array ( [countrySelected] => 3 [stateSelected] => 176 [citySelected] => 551 ) ) $second = Array ( [0] => Array (
$first = Array
(
[0] => Array
(
[countrySelected] => 3
[stateSelected] => 176
[citySelected] => 551
)
)
$second = Array
(
[0] => Array
(
[countrySelected] => 3
[stateSelected] => N/A
[citySelected] => N/A
)
)
现在我想把它们组合起来:
Array
(
[0] => Array
(
[countrySelected] => 3
[stateSelected] => 176
[citySelected] => 551
)
[1] => Array
(
[countrySelected] => 3
[stateSelected] => N/A
[citySelected] => N/A
)
)
我尝试使用array_merge,但它将它们合并为一个元素,但我需要两个元素,如上面的[0]、[1]。您可以对两个数组使用两个
foreach
循环,并将它们添加到第三个数组中
foreach($arr1 as $item){
$arr3[]=$item;
}
foreach($arr2 as $item){
$arr3[]=$item;
}
您可以对两个数组使用两个
foreach
循环,并将它们添加到第三个数组中
foreach($arr1 as $item){
$arr3[]=$item;
}
foreach($arr2 as $item){
$arr3[]=$item;
}
您是否使用了数组推送功能? 可能是这样的:
array_push($Array2,$Array1[0]);
第一个参数是目标,第二个是要插入的元素
array\u push()将其插入数组中的最后一个字段。是否使用了array\u push? 可能是这样的:
array_push($Array2,$Array1[0]);
第一个参数是目标,第二个是要插入的元素
array\u push()将其插入数组中的最后一个字段。我的方法-
案例1-
如果你不知道会有多少把钥匙
$mergedArray = [];
foreach($array1 as $key=>$value)
{ $mergedArray[] = $value; } //similarly for array 2
情况2-如果关联数组中只有一个键
$mergedArray = [];
$mergedArray[] = $array1[0];
$mergedArray[] = $array2[0];
我的方法-
案例1-
如果你不知道会有多少把钥匙
$mergedArray = [];
foreach($array1 as $key=>$value)
{ $mergedArray[] = $value; } //similarly for array 2
情况2-如果关联数组中只有一个键
$mergedArray = [];
$mergedArray[] = $array1[0];
$mergedArray[] = $array2[0];
在这里,只需使用如下所示的
array\u map
:
<?php
$array1 = array(
array(
"countrySelected" => 3,
"stateSelected" => 176,
"citySelected" => 551
)
);
$array2 = array(
array(
"countrySelected" => 3,
"stateSelected" => "N/A",
"citySelected" => "N/A",
)
);
array_map(function($arr) use(&$array1){
$array1[] = $arr;
}, $array2);
print_r($array1);
在这里,只需使用array\u map
如下所示:
<?php
$array1 = array(
array(
"countrySelected" => 3,
"stateSelected" => 176,
"citySelected" => 551
)
);
$array2 = array(
array(
"countrySelected" => 3,
"stateSelected" => "N/A",
"citySelected" => "N/A",
)
);
array_map(function($arr) use(&$array1){
$array1[] = $arr;
}, $array2);
print_r($array1);
您可以使用array\u merge\u recursive:
$arr1 = array(
array(
"countrySelected" => 3,
"stateSelected" => 176,
"citySelected" => 551
)
);
$arr2 = array(
array(
"countrySelected" => 3,
"stateSelected" => Null,
"citySelected" => Null
)
);
$arr3 = array_merge_recursive($arr1, $arr2);
print_r($arr3);
Result:
Array
(
[0] => Array
(
[countrySelected] => 3
[stateSelected] => 176
[citySelected] => 551
)
[1] => Array
(
[countrySelected] => 3
[stateSelected] =>
[citySelected] =>
)
)
您可以使用数组\合并\递归:
$arr1 = array(
array(
"countrySelected" => 3,
"stateSelected" => 176,
"citySelected" => 551
)
);
$arr2 = array(
array(
"countrySelected" => 3,
"stateSelected" => Null,
"citySelected" => Null
)
);
$arr3 = array_merge_recursive($arr1, $arr2);
print_r($arr3);
Result:
Array
(
[0] => Array
(
[countrySelected] => 3
[stateSelected] => 176
[citySelected] => 551
)
[1] => Array
(
[countrySelected] => 3
[stateSelected] =>
[citySelected] =>
)
)
然后像下面这样组合数组
$arraythree = array($arrayone, $arraytwo);
var_dump($arraythree);
然后像下面这样组合数组
$arraythree = array($arrayone, $arraytwo);
var_dump($arraythree);
您可以使用array\u merge\u recursive
检查简单示例
您可以使用数组\u合并\u递归
检查简单示例
你能试试下面的代码吗
$arr1=array('countrySelected'=>3,'stateSelected'=>176,'citySelected'=>551);
$arr2=array('countrySelected'=>3,'stateSelected'=>'N/A','citySelected'=>'N/A');
print_r(array($arr1, $arr2));
你能试试下面的代码吗
$arr1=array('countrySelected'=>3,'stateSelected'=>176,'citySelected'=>551);
$arr2=array('countrySelected'=>3,'stateSelected'=>'N/A','citySelected'=>'N/A');
print_r(array($arr1, $arr2));
我认为您使用数组合并的方式不正确。我只是在上面创建了一个数组,得到了你期望的结果
$arr1=[];
$arr1[0]=["countrySelected"=>3,"stateSelected"=>NULL,"citySelected"=>NULL];
print_r($arr1);
我得到的数组低于输出
排列
(
[0]=>阵列
(
[countrySelected]=>3
[stateSelected]=>
[城市选择]=>
)
)
然后我创建另一个数组,就像你问题中的第二个数组
$arr1=[];
$arr1[0]=["countrySelected"=>3,"stateSelected"=>NULL,"citySelected"=>NULL];
print_r($arr1);
我得到的数组低于输出
排列
(
[0]=>阵列
(
[countrySelected]=>4
[stateSelected]=>
[城市选择]=>
)
)
然后我就合并了这个数组
print_r(数组合并($arr1,$arr2))代码>
我得到了下面的结果
排列
(
[0]=>阵列
(
[countrySelected]=>3
[stateSelected]=>
[城市选择]=>
)
[1] =>阵列
(
[countrySelected]=>4
[stateSelected]=>
[城市选择]=>
)
)
我认为您使用数组合并的方式不正确。我只是在上面创建了一个数组,得到了你期望的结果
$arr1=[];
$arr1[0]=["countrySelected"=>3,"stateSelected"=>NULL,"citySelected"=>NULL];
print_r($arr1);
我得到的数组低于输出
排列
(
[0]=>阵列
(
[countrySelected]=>3
[stateSelected]=>
[城市选择]=>
)
)
然后我创建另一个数组,就像你问题中的第二个数组
$arr1=[];
$arr1[0]=["countrySelected"=>3,"stateSelected"=>NULL,"citySelected"=>NULL];
print_r($arr1);
我得到的数组低于输出
排列
(
[0]=>阵列
(
[countrySelected]=>4
[stateSelected]=>
[城市选择]=>
)
)
然后我就合并了这个数组
print_r(数组合并($arr1,$arr2))代码>
我得到了下面的结果
排列
(
[0]=>阵列
(
[countrySelected]=>3
[stateSelected]=>
[城市选择]=>
)
[1] =>阵列
(
[countrySelected]=>4
[stateSelected]=>
[城市选择]=>
)
)
数组之间没有区别。你想做什么?你能把你的名字写下来吗code@Andreas问题已更新。@KishanOza问题已更新。您是如何使用数组\u merge
?数组之间没有区别。你想做什么?你能把你的名字写下来吗code@Andreas问题已更新。@KishanOza问题已更新。您是如何使用array\u merge
?抱歉,我使用了。我是新来的,所以请原谅这个错误,它不会再发生了!它创建的附加键为:[0]=>Array([0]=>ArraySorry,我创建了。我是新来的,因此请原谅错误,不会再次发生!它创建的附加键为:[0]=>Array([0]=>Array