我有一個數組,其中包含本身包含兩種類型的條目的條目。PHP句柄陣列
爲了簡單起見,假設該條目是這樣的:
a|1
b|4
a|2
c|5
b|3
等
在他們所代表類別和子在我的數據庫的事實。
我將使用explode
將這些條目拆分爲字母和數字。
問題是:我想按類別對它們進行分組。
什麼是創建一個多級陣列的最簡單的方法,這可以通過字母來排序:
a|1
a|2
b|4
b|3
c|5
?
我有一個數組,其中包含本身包含兩種類型的條目的條目。PHP句柄陣列
爲了簡單起見,假設該條目是這樣的:
a|1
b|4
a|2
c|5
b|3
等
在他們所代表類別和子在我的數據庫的事實。
我將使用explode
將這些條目拆分爲字母和數字。
問題是:我想按類別對它們進行分組。
什麼是創建一個多級陣列的最簡單的方法,這可以通過字母來排序:
a|1
a|2
b|4
b|3
c|5
?
這樣的事情呢?
$input = array('a|1','b|4','a|2','c|5','b|3');
$output = array();
foreach($input as $i){
list($key,$val) = explode("|",$i);
$output[$key][] = $val;
}
輸出:
Array
(
[a] => Array
(
[0] => 1
[1] => 2
)
[b] => Array
(
[0] => 4
[1] => 3
)
[c] => Array
(
[0] => 5
)
)
這看起來不錯。有沒有辦法訪問鍵的值呢?我的意思是 - 除非我知道這些值,否則我怎麼會知道使用'a','b'和'c'? –
爲此使用了'array_keys'。再次感謝 –
<?php
$your_array = array();
$your_array[a] = array('1','2','3');
$your_array[b] = array('4','5','6');
print_r($your_array);
?>
對不起,要回答這個問題print_r(arsort( your_array)); – njmu83
我認爲你的條目是字符串(靠,你想對他們使用explode()
的事實)。
如果是這樣,您可以簡單地使用sort($array)
對數組進行排序,然後對該數組進行迭代,並將這些值分解並將它們放入另一個數組中,該數組將按前一個數組的順序進行排序。
類似的東西http://stackoverflow.com/questions/2189626/php-how-to-group-a-multidimensional-array-by-a-particular-value – cristian