关于PHP数组的问题!


Array ( 
 [0] => Array ( [addBillAmount] => Array ( [0] => addUser [1] => amountRemarks ) )
 [1] => Array ( [addBillPrice] => Array ( [0] => addUser [1] => priceRemarks ) ) 
)

Array ( 
  [addBillAmount] => Array ( [0] => addUser [1] => amountRemarks ) 
  [addBillPrice] => Array ( [0] => addUser [1] => priceRemarks )
)

PHP如何把第一种数组格式转换成第二种呢,我是初学。把代码写出来!


function array_key_up($array){
    $data=[];
    foreach ($array as $value){
        foreach ($value as $k=>$v){
            $data[$k] = $v;
        }
    }
    return $data;
}
$array=Array (
0 => Array ( 'addBillAmount' => Array ( 0=> 'addUser' ,1 => 'amountRemarks' )),
1 => Array ( 'addBillPrice' => Array ( 0 => 'addUser' ,1 => 'priceRemarks' ) )
);
print_r(array_key_up($array));

要将第一种数组格式转换为第二种数组格式,可以使用以下代码:

$result = array();
foreach ($array as $item) {
$result = array_merge($result, $item);
}

该代码使用foreach循环遍历第一种数组中的每个元素,并将它们的值合并到结果数组中。最后,$result数组将包含第二种数组的所有元素。

下面是完整的代码示例:

$array = array(
array(
"addBillAmount" => array("addUser", "amountRemarks"),
),
array(
"addBillPrice" => array("addUser", "priceRemarks"),
),
);

$result = array();
foreach ($array as $item) {
$result = array_merge($result, $item);
}

print_r($result);

输出:

Array (
[addBillAmount] => Array (
[0] => addUser
[1] => amountRemarks
)
[addBillPrice] => Array (
[0] => addUser
[1] => priceRemarks
)
)

希望这些信息能帮助您解决问题。如果您有任何其他问题,请随时告诉我。

json_encode

可以使用 PHP 中的 array_values 函数来把第一种数组转换为第二种格式。这个函数会返回一个包含数组中所有值的新数组,而不保留键名。

$array1 = [
    [
        'addBillAmount' => ['addUser', 'amountRemarks']
    ],
    [
        'addBillPrice' => ['addUser', 'priceRemarks']
    ]
];
 
$array2 = array_values($array1)[0];
 
print_r($array2);

望采纳。