|
|
|
| Привет всем! Помогите пожалуйста отсортировать массив.
В сам массив ключи заносятся так
// две разные переменные. Надо отсортировать по переменной $tsort_cost
// но чтобы значение tsort_cost и $content сохранили отношения между собой
$news_content[][$tsort_cost] = $content;
// Если добавлять так (в массив значения добавляются в внутри цикла)
$news_content[$tsort_cost] = $content;
/*
может произойти затирание старого ключа, тк $tsort_cost не уникальный и может
повторяться. А затирание не желательно,
или как то можно добавлять в массив, каждый раз новое значение
не затирая старого, тогда можно отсортировать было функцией asort();
*/
|
На выводе получается такое
Array(
[0] => Array ( [137997] => "тут каждый раз новый контент")
[1] => Array ( [132381] => "тут каждый раз новый контент")
[2] => Array ( [124578] => "тут каждый раз разное значение олдж")
[3] => Array ( [132354] => "тут каждый раз новый контент фыва")
)
Как отсортировать по [137997] [132381] вот этим ключам.
Помогите очень прошу!!!! | |
|
|
|
|
|
|
|
для: absorber
(19.03.2008 в 21:31)
| | помоему удобнее формировать неассоциативный массив, с двумя значениями
и отсортировать можно по любому из них в любом порядке
<pre><?php
$array = array(123,234,123,234,456,123);
$array2 = array(1,2,3,4,5,6);
$out = array();
foreach($array AS $k => $v)
{
$out[] = array( $v, $array2[$k]);
}
print_r($out);
?><hr>
<?
function cmp1($a, $b) // как буквы
{
return strcmp($a[0], $b[0]);
}
function cmp2($a, $b) // как цифры
{
if ($a[0] == $b[0]) {
return 0;
}
return ($a[0] > $b[0]) ? -1 : 1;
}
usort($out, "cmp2");
print_r($out);
?><hr>
<?
usort($out, "cmp1");
print_r($out);
?></pre>
|
| |
|
|
|
|
|
|
|
для: exp
(19.03.2008 в 22:43)
| | Ооо даа!!! СПАСИБО ОГРОМНОЕ!
все получилось! | |
|
|
|