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




Разумеется, я не буду останавливаться...


Разумеется, я не буду останавливаться на том, что в массивах можно хранить данные: читать их, удалять и заменять на новые.

Как проверить существование массива?

Надо заметить, что массив, в стандартных ситуациях, ведет себя так же, как обыкновенная переменная.

if(!isset($array_name)) echo "Нет такого массива!";



Как уничтожить массив?

unset($array_name);

или одну из его ячеек:

unset($array_name[n]);



Как проще всего распечатать содержимое массива?

echo implode(',',$array_name);


где implode -- функция объединения с разделителем.

В данном случае, массив выступает в роли списка переменных.


Если нужно создать массив для одной операции?

Тогда можно воспользоваться функций list(), объединяющей перечисленные в ней переменные в единый массив.

$str="один,два,три";
$list($one, $two,$three)=explode(',',$srt);

Теперь каждая переменная содержит свое слово.

И распечатать:

echo implode(',',list($one, $two, $three));


Можно, конечно, и просто перебрать содержимое массива в цикле:

while($i



Как изменить размеры массива?

Вам не надо заботиться о выделении памяти для новых ячеек массива. PHP сам выделит их столько, сколько потребуется.

Но если вы задумали обрезать массив или вырезать из массива определенный кусок, можете воспользоваться функцией array_splice().


Как выполнить операцию над каждым элементом массива?

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

Но если операции проводятся разные, их много или вам просто хочется изящнее написать код, можете воспользоваться функцией array_walk(), которая обойдет ваш массив, передавая каждый элемент массива в указанную функцию, созданную вами.

Например,

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

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

array_walk($arr,'print_arr');


распечатает на экране все элементы массива $arr;

Если же вам необходимо произвести преобразование содержимого ячеек и получившиеся данные записать обратно в ячейки, вам придется указать это явно -- дать ссылку на реальный экземпляр ячейки в памяти.









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




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