分拣我有这样的阵列,我想它的名字数组元素
Array
(
[id] => 12
[name] => Henry Davidson
[modified] => 2011-03-14 21:48:59
[modified_by] => James H
)
分拣我有这样的阵列,我想它的名字数组元素
Array
(
[id] => 12
[name] => Henry Davidson
[modified] => 2011-03-14 21:48:59
[modified_by] => James H
)
$names = array();
foreach ($your_array as $key => $value)
{
$names[$key] = $value['name'];
}
array_multisort($names, SORT_ASC, $your_array);
按姓氏排序排序。如果姓名多于或少于姓名,则可能需要进行一些更改。
function sort_by_name($a, $b)
{
$a = explode(' ', $a['name']);
$b = explode(' ', $b['name']);
if($a[1] == $b[1])
{
return strcmp($a[0], $b[0]);
}
return strcmp($a[1], $b[1]);
}
usort($array, 'sort_by_name');
您可能想要使用uasort。 (http://www.php.net/manual/en/function.uasort.php)和你自己的回调函数,在你想排序的字段上进行排序。 ?通常的东西,如一个名字,你可以在uasort页面上使用http://php.net/manual/en/function.strcmp.php
直接从例如:
<?php
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}
$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";
usort($fruits, "cmp");
while (list($key, $value) = each($fruits)) {
echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
>
很少的修改,得到了这个工作 – Autolycus 2011-05-23 20:44:37
很高兴听到它的工作原理为你。你会发布你的修改为未来可能需要它的人的利益吗? – 2011-05-24 12:43:32