陣列組我有一個數組,看起來像這樣:
PHP創建的關鍵
array(5) {
[0]=>
array(2) {
[0]=>
string(3) "444"
[1]=>
string(4) "0081"
}
[1]=>
array(2) {
[0]=>
string(3) "449"
[1]=>
string(4) "0081"
}
[2]=>
array(2) {
[0]=>
string(3) "451"
[1]=>
string(4) "0081"
}
[3]=>
array(2) {
[0]=>
string(3) "455"
[1]=>
string(4) "2100"
}
[4]=>
array(2) {
[0]=>
string(3) "469"
[1]=>
string(4) "2100"
}
}
,我需要組到一個新的數組,看起來像:
array(2) {
[0]=>
array(2) {
[0]=>
string(3) "444,449,451"
[1]=>
string(4) "0081"
}
[1]=>
array(2) {
[0]=>
string(3) "455,469"
[1]=>
string(4) "2100"
}
}
我'嘗試了很多腳本,但沒有成功。
function _group_by($array, $key) {
$return = array();
foreach($array as $val) {
$return[$val[$key]][] = $val;
}
return $return;
}
$newArray = _group_by($array, 1); (NO SUCCESS)
感謝所有, 羅伊。
什麼腳本讓你離你所需要的距離最近? –
可能有一個更優雅的解決方案,但是你可以運行2個foreach腳本 - 第一個用於迭代和按第二個參數分組,第二個用於重構你需要的結構。 – Giedrius
有幾十個類似的問題已經在SO上得到解答。搜索['array_reduce()'](http://php.net/manual/en/function.array-reduce.php)。 – axiac