分揀我有這樣的陣列,我想它的名字數組元素
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