Архив рассылки -программирование на PHP




Как и в языке C, в PHP это делается...


Как и в языке C, в PHP это делается добавлением перед переменной амперсанта "&".

Скажем, если бы на надо было не просто распечатать содержимое ячеек, как в приведенном примере, а добавить слово "done" после каждого слова и снова распечатать содержимое массива, то пример выглядел бы так:

function print_arr(&$str)
{
echo $str,"
\n";
$str.=" - done";
}

$arr=array("one","two","three");

array_walk($arr,'print_arr');
echo "

\n";
array_walk($arr,'print_arr');


а результат так:

one two three one - done two - done three - done


Вот такая полезная функция, которой редко пользуются.


Как удалить из массива дубликаты?

Очень просто. Для этого существует функция array_unique, которая вернет вам массив, сократив его до массива, не содержащего повторения.


Как сравнить два массива?

И тут PHP нас заставляет поскучать, ибо функция array_dif все сделает за нас.

Передайте этой функции два массива и она возвратит вам все элементы первого массива, не найденные во втором. Кстати, вторым массивом можно не ограничиваться, функция принимает для сравнения любое количество массивов через запятую.

$result = array_diff ($array1, $array2,$array3,:);



Как объединить массивы?

В PHP массивы объединяет функция array_merge, правда, никто вам не запретит пройтись циклом по одному массиву, прочесть его по ячейкам и дописать данные в конец другого массива.

Честно говоря, одномерные массивы в PHP можно "складывать" обычным плюсом:

$array3=$array1+$array2;


Но! Надо помнить, что сложение массивов игнорирует дубликаты.









Начало    Назад    Вперед




Книжный магазин