我有一个数组,其中包含本身包含两种类型的条目的条目。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