|
| |
|
|
| |
для: Shorr Kan
(15.11.2006 в 15:42)
| | | идея вот такая. очень громоздко и подлежит доделыванию и упрощению. но идея.
<?
$arr=array(
"1"=>array(
"tag"=>"WORD_1",
"type"=>"complete",
"level"=>"4",
"attributes"=>array(
"CL"=>"48",
"S"=>"511",
"M"=>"0.39",
"C"=>"0.0083"
)
),
"2"=>array(
"tag"=>"WORD_2",
"type"=>"complete",
"level"=>"4",
"attributes"=>array(
"CL"=>"48",
"S"=>"511",
"M"=>"0.2",
"C"=>"0.0083"
)
),
"3"=>array(
"tag"=>"WORD_3",
"type"=>"complete",
"level"=>"4",
"attributes"=>array(
"CL"=>"48",
"S"=>"511",
"M"=>"0.5",
"C"=>"0.0083"
)
),
"4"=>array(
"tag"=>"WORD_4",
"type"=>"complete",
"level"=>"4",
"attributes"=>array(
"CL"=>"48",
"S"=>"511",
"M"=>"8.5",
"C"=>"0.0083"
)
),
);
echo "<pre>";
//выдираем из элементов нужные значения для сравнения
foreach ($arr as $key=>$value) {
$k=1;
foreach ($value as $key_1=>$value_1) {
if ($k=="4") {
foreach ($value_1 as $key_2=>$value_2) {
if ($key_2=="M") {$znach[]=$value_2; $massiv[]=$key;}
}
}
$k++;
}
}
//сливаем массивы в один (взято с php.net)
$keys = array_values( (array) $massiv );
$vals = array_values( (array) $znach );
$n = max( count( $keys ), count( $vals ) );
$r = array();
for( $g=0; $g<$n; $g++ ) {
$r[ $keys[ $g ] ] = $vals[ $g ];
}
//производим нужную сортировку
asort($r);
//отображаем
foreach ($r as $key_out=>$val_out) {
print_r($arr[$key_out]);
}
?>
|
| |
| |
|
|
|
| |
|
|
| |
для: Shorr Kan
(15.11.2006 в 15:42)
| | | так куда чего сортировать-то? во всех четырех элементах величина [attributes]-[M] одинаковая :-) | |
| |
|
|
| |
|
|
| |
[3] => Array
(
[tag] => WORD
[type] => complete
[level] => 4
[attributes] => Array
(
[CL] => 48
[S] => 511
[M] => 0.39
[C] => 0.0083
)
[value] => cam
)
|
Как подобный массив отсортировать по [attributes][M] ?
То есть,
[3] => Array - это третий элемент. Есть и первый, и второй, и четвертый... примерно так:
[1] => Array
(
[tag] => WORD
[type] => complete
[level] => 4
[attributes] => Array
(
[CL] => 48
[S] => 511
[M] => 0.39
[C] => 0.0083
)
[value] => cam
)
[2] => Array
(
[tag] => WORD
[type] => complete
[level] => 4
[attributes] => Array
(
[CL] => 48
[S] => 511
[M] => 0.39
[C] => 0.0083
)
[value] => cam
)
[3] => Array
(
[tag] => WORD
[type] => complete
[level] => 4
[attributes] => Array
(
[CL] => 48
[S] => 511
[M] => 0.39
[C] => 0.0083
)
[value] => cam
)
|
Так вот, как мне эти элементы отсортировать по величине attributes-M ? | |
| |
|
|
|