从php中的爆炸字符串合并为一个基于数组的数组


Unite into one array based array from explode string in php

我有很多基于数组的爆炸字符串,如下所示:

$size = explode(",", $row->SIZE);
$coil_no = explode(",", $row->COIL_NO);
$net = explode(",", $row->NET);
$gross = explode(",", $row->GROSS);
$contract_no = explode(",", $row->CONTRACT_NO);
$location = explode(",", $row->LOCATION);

如何将这些数组合并为一个多维数组?

我试过这样:

foreach ($size as $value) {
            foreach ($coil_no as $coil) {
                $detail[] = array(
                    "coil_no" => $coil,
                    "size" => $value
                );
            }
        }

你知道循环的结果很奇怪,我需要更优雅的阵列,比如

foreach ($unite_array as $row) :
    echo "<tr> $row->size </tr>" ;
endforeach;

联合这些阵列的最佳方法是什么?

您可以编写自己的函数,根据需要对键进行分组,请参阅下面的示例:

function array_group(){
    if(func_num_args() > 0) {
        $params = func_get_args();
        $result = array();
        foreach($params as $key => $param) {
            foreach($param['values'] as $k => $value) {
                $result[$k][$param['alias']] = $value;
            }
        }
        return $result;
    }
    return false;
}
$rows = array_group(
    array('alias' => 'size', 'values' => array(1,2,3,4,5)),
    array('alias' => 'coil_no', 'values' => array(6,7,8,9,10)),
    array('alias' => 'net', 'values' => array(11,12,13,14,15)),
    array('alias' => 'gross', 'values' => array(16,17,18,19,20)),
    array('alias' => 'contract_no', 'values' => array(21,22,23,24,25)),
    array('alias' => 'location', 'values' => array(26,27,28,29,30))
);
print_r($rows);

你可以访问它,比如:

foreach ($rows as $row) :
    echo "<tr> {$row['size']} </tr>" ;
endforeach;