Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 - Fatal编程技术网

Php 如何将多个阵列合并为一个阵列?

Php 如何将多个阵列合并为一个阵列?,php,arrays,Php,Arrays,正如您所看到的,我的JSON数组中的每个属性都包含一个数组。那么,如何将所有数组的第一个值合并到一个数组中,将所有数组的第二个值合并到另一个数组中呢?还有如何提取每个值,如$data['?'],然后再提取 我想在数据库中插入一个ID的所有项,然后再插入下一个ID的项。请问如何以这种方式排列阵列 期望输出: Json string : $return ='{"contract_id":["33"],"group":["1","2"],"item":["1","No items found"],"h

正如您所看到的,我的JSON数组中的每个属性都包含一个数组。那么,如何将所有数组的第一个值合并到一个数组中,将所有数组的第二个值合并到另一个数组中呢?还有如何提取每个值,如$data['?'],然后再提取

我想在数据库中插入一个ID的所有项,然后再插入下一个ID的项。请问如何以这种方式排列阵列

期望输出:

Json string : $return ='{"contract_id":["33"],"group":["1","2"],"item":["1","No items found"],"harga_1":["4","1"],"qty":["2","2"],"amount":["8","2"],"action":"test"}';

$data = json_decode($return, true);
var_dump($data['item']);
array (size=2)
  0 => string '1' (length=1)
  1 => string 'No items found' (length=14)
var_dump($data['group']);
output:
array (size=2)


 0 => string '1' (length=1)
  1 => string '2' (length=1)

这是multisort的一个示例

$array1 = array("ID"=>"33","group" => "ef4", "item" => "apple", "harga" => "56".....);
$array2 = array("ID"=>"33","group" => "rfrf4", "item" => "a45erf4e", "harga" => "54".....);

PHP函数:

尝试以下操作:

<?php

//JSON
$json  ='{"contract_id":["33"],"group":["A","B"],"item":["A1","BNo items found"],"harga_1":["A4","B1"],"qty":["A2","B2"],"amount":["A8","B2"],"action":"test"}';
$data = json_decode($json, true);

// Contract
$contractId = array_shift($data); // [33]   

$firstRow = array_column($data, 0);
$secondRow = array_column($data, 1);

/* result:
 *
 * firstRow => array("A","A1","A4","A2","A8")
 * secondRow => array("B","BNo items found","B1","B2","B2")
 */

想要的结果是什么,你得到了什么,你尝试了什么?@火影忍者,我已经在我的帖子中更新了想要的输出。此外,我还尝试过使用array\u merge\u recursive和array\u combine
“item”=>“apple”
苹果的
从哪里来?实际上,我不知道如何从
$result
获得所需的输出,但我认为array\u intersect\u键会有所帮助,但我不确定如何对多个数组执行此操作?
<?php

//JSON
$json  ='{"contract_id":["33"],"group":["A","B"],"item":["A1","BNo items found"],"harga_1":["A4","B1"],"qty":["A2","B2"],"amount":["A8","B2"],"action":"test"}';
$data = json_decode($json, true);

// Contract
$contractId = array_shift($data); // [33]   

$firstRow = array_column($data, 0);
$secondRow = array_column($data, 1);

/* result:
 *
 * firstRow => array("A","A1","A4","A2","A8")
 * secondRow => array("B","BNo items found","B1","B2","B2")
 */
<?php
$data = json_decode('{"contract_id":["33"],"group":["1","2"],"item":["1","No items found"],"harga_1":["4","1"],"qty":["2","2"],"amount":["8","2"],"action":"test"}', true);
$values = array( 'contract_id' , 'group' , 'item' , 'harga_1' , 'qty' , 'amount' );
$arrays = array();
for($i = 0; $i < count($data['item']); $i++){
    $arrays[$i] = array();
    foreach($values as $value){
        $arrays[$i][$value] = isset($data[$value][$i]) ? $data[$value][$i]: $data[$value][0];
    }
}
var_dump($arrays);
$arrays = array (
  0 => array (
    'contract_id' => '33',
    'group' => '1',
    'item' => '1',
    'harga_1' => '4',
    'qty' => '2',
    'amount' => '8',
  ),
  1 => array (
    'contract_id' => '33',
    'group' => '2',
    'item' => 'No items found',
    'harga_1' => '1',
    'qty' => '2',
    'amount' => '2',
  ),
)