簡體   English   中英

重組php數組

[英]Reorganize php array

我有3個這樣的數組:

Array1([0] => VALUE1-1 [1] => VALUE1-2 [2] => VALUE1-3)

Array2([0] => VALUE2-1 [1] => VALUE2-2 [2] => VALUE2-3)

Array3([0] => VALUE3-1 [1] => VALUE3-2 [2] => VALUE3-3)

我想做的事

Array4([0] => VALUE1-1 [1] => VALUE2-1 [2] => VALUE3-1)

Array5([0] => VALUE1-2 [1] => VALUE2-2 [2] => VALUE3-2)

Array6([0] => VALUE1-3 [1] => VALUE2-3 [2] => VALUE3-3)

有一個簡單的方法嗎?

這稱為transposing 如果將數組1,2和3組合成2D數組,可以使用以下答案: https//stackoverflow.com/a/3423692/206403

function transpose($array) {
    array_unshift($array, null);
    return call_user_func_array('array_map', $array);
}

然后你可以像這樣使用它:

$myArray = array(
    array('value 1-1', 'value 1-2', 'value 1-3'),
    array('value 2-1', 'value 2-2', 'value 2-3'),
    array('value 3-1', 'value 3-2', 'value 3-3')
);

$newArray = transpose($myArray);

然后,如果需要,可以將$newArray分成3個數組。

演示: http//codepad.org/N6tZgajt

編輯:這與調用相同:

$newArray = array_map(null, $array1, $array2, $array3);

編輯2:對於一個瘋狂的單行,您可以這樣做:

list($array4, $array5, $array6) = array_map(null, $array1, $array2, $array3);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM