chillz
Guest
Фильтрация многомерного массива
Есть массив вида:
Пытаюсь сделать так, что бы шла проверка на одинаковые значения, то есть, если
То все элементы массива кроме 1(!) приравнять к "", именно приравнять, но не убрать из массива.
Ожидаемый результат:
Поразмыслив пришел к:
Получился несколько тривиальный способ.
Например, нужно проверить все три элемента внутреннего массива...хочется избежать танцев с бубном. Есть ли более лояльные варианты ? Спасибо.
-~{}~ 09.09.05 01:46:
Если кто будет извращаться со скриптами а-ля пхпмэйадмин, и кому потребуется вывод категорий, как в форуме, с джоинами в запросе, эта функция обрезает повторный вывод результата LEFT(RIGHT) JOIN'a.
Есть массив вида:
PHP:
// $array
Array
(
[0] => Array
(
[0] => test1
[1] => test2
[2] => test3
)
[1] => Array
(
[0] => test1
[1] => test2
[2] => test3
)
[2] => Array
(
[0] => test1
[1] => test2
[2] => test3
)
)
PHP:
$array[0][0] = $array[1][0];
$array[1][0] = $array[2][0];
Ожидаемый результат:
PHP:
// $array
Array
(
[0] => Array
(
[0] => test1
[1] => test2
[2] => test3
)
[1] => Array
(
[0] =>
[1] => test2
[2] => test3
)
[2] => Array
(
[0] =>
[1] => test2
[2] => test3
)
)
PHP:
for ($k=count($array);$k>0;$k--) {
if ($array[$k][0] == $array[$k-1][0]) $array[$k][0] = "";
}
}
Например, нужно проверить все три элемента внутреннего массива...хочется избежать танцев с бубном. Есть ли более лояльные варианты ? Спасибо.
-~{}~ 09.09.05 01:46:
PHP:
function joined_query($array,$num_fields) {
for ($k=(count($array)-1);$k>0;$k--) {
for ($i=0;$i<$num_fields;$i++) {
$offset = $k-1;
if ($array[$k][$i] == $array[$offset][$i]) $array[$k][$i] = "";
}
}
return $array;
}
