我想根据alphabate在数组中查找值,并希望根据alphabate顺序列出数组值。
我的数组是这样的:
阵列( [0] =>排列 ( [0] =>阿迪达斯 [1] => AKG [2] =>苹果 [3] => Barrats [4] =>教规 [5] =>戴尔 [6] => Dixons的 [7] => HTC [8] =>利物浦 [9] =>微软 [10] =>倍耐力轮胎 [11] => )
)
我希望根据alphabate创建一个值列表:
A
________
Adidas
AKG
是否有任何想法?
答案 0 :(得分:1)
你在asort
之后asort($a);
foreach($a AS $v) {
echo $v . "<br />";
}
答案 1 :(得分:0)
难以理解的问题,但我认为你正在寻找sort
。
答案 2 :(得分:0)
$ fruits = array(“lemon”,“orange”,“banana”,“apple”); 排序($水果); 重置($水果); while(list($ key,$ val)= each($ fruits)){ echo“fruits [”。$ key。“] =”。$ val。“\ n”; }
答案 3 :(得分:0)
您的数组已经排序。
抓住内部数组,然后遍历值。
每当第一个字母改变时,你知道它的下一个字母。
答案 4 :(得分:0)
如果您想通过公司名称的第一个字母求助列表,可以采用以下方式:
$sorted = array();
foreach($companies as $company) {
$sorted[ strtoupper($company{0}) ][] = $company;
}
答案 5 :(得分:0)
只需使用sort()
功能对数组进行排序,然后将其打印出来
让这些字母标题只是在第一个字母后面,然后比较前一个:
$old='';
foreach ($words as $name) {
if ($name[0] != $old) {
echo $name[0]."<hr>\n";
}
echo $name."<br>\n";
$old=$name[0];
}
答案 6 :(得分:0)
可以使用一些优化,但完全符合您的要求:
$a = array("Chicken","Fish","Hello","Lebowski","What","hey","foo");
asort($a);
$alphaArr = array();
foreach(range('A', 'Z') as $letter) {
// create empty array at offset for current letter
$alphaArr[$letter] = array();
foreach($a as $item) {
// if the first letter starts with current letter
// push it into subarray
if (substr(strtolower($item),0,1) == strtolower($letter)) {
$alphaArr[$letter][] = $item;
}
}
}
print_r($alphaArr);