php中关联数组的连接
我有两个阵列:php中关联数组的连接,php,arrays,associative-array,Php,Arrays,Associative Array,我有两个阵列: Array ( [0] => Array ( [Date] => 2019-05-04 18:40:00 [Item] => Prasanta Kumar Ray [Code] => [Amount] => 150 ) [1] => Array ( [Date] => 2019-05-04 21:23:00 [It
Array
(
[0] => Array
(
[Date] => 2019-05-04 18:40:00
[Item] => Prasanta Kumar Ray
[Code] =>
[Amount] => 150
)
[1] => Array
(
[Date] => 2019-05-04 21:23:00
[Item] => Dr Praveenkumar
[Code] =>
[Amount] => 150
)
)
第二
Array
(
[0] => Array
(
[Date] => 2019-05-04 18:45:00
[Item] => TC DC ESR
[Code] =>
[Amount] => 60
)
)
如何将它们连接在一起以获得长度为3的关联数组?thx提前
我尝试了数组合并和数组推送。不起作用。您可以使用
array\u merge
将它们合并到一个数组中
$arr1 = Array
(
'0' => Array
(
'Date' => '2019-05-04 18:40:00',
'Item' => 'Prasanta Kumar Ray',
'Code' => '',
'Amount' => 150
),
'1' => Array
(
'Date' => '2019-05-04 21:23:00',
'Item' => 'Dr Praveenkumar',
'Code' => '',
'Amount' => 150
)
);
$arr2 = Array
(
'0' => Array
(
'Date' => '2019-05-04 18:45:00',
'Item' => 'TC DC ESR',
'Code' => '',
'Amount' => 60
)
);
$res = array_merge($arr1,$arr2);
输出
Array
(
[0] => Array
(
[Date] => 2019-05-04 18:40:00
[Item] => Prasanta Kumar Ray
[Code] =>
[Amount] => 150
)
[1] => Array
(
[Date] => 2019-05-04 21:23:00
[Item] => Dr Praveenkumar
[Code] =>
[Amount] => 150
)
[2] => Array
(
[Date] => 2019-05-04 18:45:00
[Item] => TC DC ESR
[Code] =>
[Amount] => 60
)
)
你确定吗
我尝试了数组合并和数组推送。没用
尝试使用array\u merge()
或array\u merge\u recursive()
。两者都应该对你有用
<?php
$array1 = array
(
array
(
"Date" => "2019-05-04 18:40:00",
"Item" => "Prasanta Kumar Ray",
"Code" => null,
"Amount" => 150
)
,
array
(
"Date" => "2019-05-04 21:23:00",
"Item" => "Dr Praveenkumar",
"Code" =>null ,
"Amount" => 150
)
);
$array2 = array
(
array
(
"Date" => "2019-05-04 18:45:00",
"Item" => "TC DC ESR",
"Code" => null,
"Amount" => 60
)
);
$array3 = array_merge_recursive($array1,$array2);
print_r($array3);
?>
演示:如果要合并数组并保持按日期排序,则需要使用array_列使数组按日期关联,K排序数组并使用array_值重置键
$new = array_merge(array_column($arr1, null, 'Date'), array_column($arr2, null, 'Date'));
ksort($new);
$new = array_values($new);
var_dump($new);
本报告的产出:
array(3) {
[0]=>
array(4) {
["Date"]=>
string(19) "2019-05-04 18:40:00"
["Item"]=>
string(18) "Prasanta Kumar Ray"
["Code"]=>
string(0) ""
["Amount"]=>
int(150)
}
[1]=>
array(4) {
["Date"]=>
string(19) "2019-05-04 18:45:00"
["Item"]=>
string(9) "TC DC ESR"
["Code"]=>
string(0) ""
["Amount"]=>
int(60)
}
[2]=>
array(4) {
["Date"]=>
string(19) "2019-05-04 21:23:00"
["Item"]=>
string(15) "Dr Praveenkumar"
["Code"]=>
string(0) ""
["Amount"]=>
int(150)
}
}
您期望的输出是什么?只是简单的合并?是的。我已经得到了答案。我在数组合并期间添加了不必要的[]。现在它工作了,非常感谢。