[英]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.