Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中关联数组的连接_Php_Arrays_Associative Array - Fatal编程技术网

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)
  }
}

您期望的输出是什么?只是简单的合并?是的。我已经得到了答案。我在数组合并期间添加了不必要的[]。现在它工作了,非常感谢。