|
|
|
| Я покажу как делаю я, а мне скажите может есть способ попроще.
<?php
$array[0]["имя"] = "Миша";
$array[0]["фамилия"] = "Евдокимов";
$array[1]["имя"] = "Владимир";
$array[1]["фамилия"] = "Путин";
$array[2]["имя"] = "Борис";
$array[2]["фамилия"] = "Моисеев";
echo "<pre>";
print_r($array);
// сортируем по именам
foreach ($array as $k => $v) {
$names[$v["имя"]] = $k;
}
ksort($names);
print_r($names);
foreach($names as $v) {
$sorted_by_name[] = $array[$v];
}
print_r($sorted_by_name);
echo "</pre>";
?>
|
На выходе:
Array
(
[0] => Array
(
[имя] => Миша
[фамилия] => Евдокимов
)
[1] => Array
(
[имя] => Владимир
[фамилия] => Путин
)
[2] => Array
(
[имя] => Борис
[фамилия] => Моисеев
)
)
Array
(
[Борис] => 2
[Владимир] => 1
[Миша] => 0
)
Array
(
[0] => Array
(
[имя] => Борис
[фамилия] => Моисеев
)
[1] => Array
(
[имя] => Владимир
[фамилия] => Путин
)
[2] => Array
(
[имя] => Миша
[фамилия] => Евдокимов
)
)
|
| |
|
|
|
|
|
|
|
для: Ури Геллер
(11.03.2010 в 21:05)
| | bool usort ( array &$array , callback $cmp_function )
Example #2 usort() example using multi-dimensional array
<?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";
}
?>
|
| |
|
|
|
|
|
|
|
для: exp
(11.03.2010 в 21:29)
| | что функции пользовательской сортировки существуют я знаю, вопрос не в том. Мне не нравятся эти промежуточные массивы и прочее. | |
|
|
|
|
|
|
|
для: Ури Геллер
(11.03.2010 в 21:50)
| | хуй войне | |
|
|
|