Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОКС.doc
Скачиваний:
14
Добавлен:
04.12.2018
Размер:
536.58 Кб
Скачать

39. Массивы в php

Массивы это сильная штука в любом языке программирования. Они решат многие проблемы, помогают сделать короче код программы (от этого соответственно она становится легче) и создают простоту.

Первые опыты

Создать массив:

$имя_массива[позиция] = данные;

$massiv[0] = "text";

т.е. $massiv[0] имеет значение "text"; Но можно записать попроще:

$massiv[] = "text";

это запись эквилента предыдущей. т.е. первый массив начинается не с нуля, а единицы! Но также можно сделать так:

$massiv[2] = "text";

$massiv[0] и $massiv[1] будут пусты.

Если вы хотите создать массив уже из имеющихся данных, то делают вот что:

$massiv = array("text", "mes", "chislo");

$massiv[0] будет равен "text";

Массивы и файлы

Массивы можно записывать в файлы и также вытаскивать их оттуда. Причём, можно вытащить массив и что-нибудь добавить новое или изменять. Удалить тоже можно.

Допустим мы создали массив:

$massiv[] = array("Text");

Далее записываем его в файл

$file = fopen("file.txt", "w");

$massiv = serialize($massiv); // это мы перекодировали массив для записи его в файл

fwrite ($file,"$massiv");

fclose($file);

Допустим в другом скрипте мы достаём массив чтобы пополнить:

$open = fopen("file.txt", "r");

$massiv = unserialize(fread($open,100000));

fclose($open);

$massnew[] = array("text323123"); // информация которую надо добавить в наш старый массив

$massiv[] = $massnew; // добавляем

$open2 = fopen("file.txt", "w");

fputs($open2, serialize($massiv));

fclose($open2);

Вывод массива

Вот способ вывода самого простого массива:

echo "$massiv";

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

Представим что в каждом массиве есть элементы - name, link, description. Каждый элемент хранит свою конкретную информацию о ссылке и таких ссылок много. Тогда на экран покажем ссылки таким образом:

Есть массив $massiv

foreach($massiv as $mas) {

echo "$mas[name]<br>$mas[link]<br>$mas[description]<br><br>";

}

40. Работа со строками в php

Работа со строками в php гораздо богаче, чем в С. Кроме того, что существуют практически все стандартные

функции языка С, наличиствует множество дополнительных функций и возможностей, которые как

ориентированы на web, так и просто облегчают работу. В частности конкатенация строк осуществляется

следующим оператором: $result_str=$first_str . $second_str;

В качестве примеров полезных для работы в web функций могут служить функции htmlspecialchars(), преобразующая в строке символы типа & в последовательность & или функция urlencode(string str), преобразующую символы русского алфавита в последовательность %XX, где ХХ - шестнадцатеричный код символа. Также весьма интересны функции работы с регулярными выражениями, например

$str=ereg_replace("/usr/local/([^/]*)/filename", "\\1","/usr/local/dirname/filename");

даст нам строку

$str="dirname".

Или например функция explode, лично меня очень порадовшая: данная функция позволяет

преобразовать строку в массив значений, например для формирования следующего элемента выбора был использован следующий код:

<?php

$strarray=explode(":","Понедельник:Вторник:Среда:Четверг:Пятница:Суббота:Воскр

есенье"); ?>

<select name="dayofweek" size="1">

<?php for($i=0;$i<7;$i++) { ?>

<option><?php echo($strarray[$i]); ?></option>

<?php } ?>

</select>