Array
(
[0] => Jane Smith
)
Array
(
[0] => John Paul
)
Array
(
[0] => Jennifer
)
Array
(
[0] => Paolo
)
Array
(
[0] => Delilah
)
foreach($name as $a){
print_r($a);
}
这个数组能否按字母顺序排列呢? 我该如何在这里使用sort()函数?
试一下:
$array = your array
$result = call_user_func_array('array_merge', $array);
sort($result);
echo "<pre>";
print_r($result);
试试这个:
<?php
$ar1 = array("Jane Smith", "John Paul ", "Jennifer", "Paolo","Delilah");
function alphasort($a, $b) {
if ($a['name'] == $b['name']) {
return 0;
}
return ($a['name'] < $b['name']) ? -1 : 1;
}
usort ($ar1,'alphasort');
echo '<pre>';
print_r($ar1);
?>
结果:
Array
(
[0] => Delilah
[1] => Jane Smith
[2] => Jennifer
[3] => John Paul
[4] => Paolo
)
看起来你正在尝试对一个字符串数组的数组进行排序,而不是一个字符串数组,因此你不能使用 sort()
。
$array = array(array('Jane Smith'), array('John Paul'), array('Jennifer'));
function cmp($a, $b)
{
$a = $a[0];
$b = $b[0];
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
usort($array, "cmp");
foreach($name as $a){
print_r($a);
}
usort($array, "cmp");
存储在一个变量中吗?然后再打印它? - woninanausort()
会修改实际的数组。 - Arjan查看这里,了解各种PHP数组排序。但是对于您的特定问题,在将所有数组合并为一个后,sort()
或asort()
应该像这样工作:
$all=array();
foreach($name as $a){
$all=array_merge($all, $a);
}
sort($all);
print_r($all);
或者
$all=array();
foreach($name as $a){
$all=array_merge($all, $a);
}
asort($a);
print_r($a);