PHP статьи и уроки PHP для начинающих. Уроки по PHP.
Работа с массивами, графикой, звуком, базами данных.
Работа с протоколами на сервере HTTP и FTP.
Приветствую Вас, Гость!

Меню сайта
Категории каталога
Общие вопросы
Общие вопросы программирования на PHP
PHP в примерах
рассматриваются конкретные практические примеры скриптов PHP
Безопасность сайта
При создании сайта необходимо защитить его от несанкционированного доступа
Интересное:
Реклама:
Смотрю "Записки о MacBook и Mac OS", в блоге gamedev программиста.
Главная » Статьи » Уроки » PHP в примерах

Массивы в примерах (часть 1)

Определение массива

В PHP массив может определяться при помощи конструкции array(), в круглых скобках которой указываются его значения:

$arr = array('первый элемент', 'второй элемент', 'третий');

или вы можете писать так

$arr[] = "первый элемент";
$arr[] = "
второй элемент";
$arr[] = "элемент";

ВАЖНО! Индекс массива традиционно (в Си) начинается с 0. Это означает, что если мы захотим вывести первое значение массива "PHP", нам потребуется обратиться к нулевому индексу:

echo $arr[0]; // первый элемент

Вы можете сами присваивать определенным элементам нужные значения:

$arr = array(1 => "элемент1",
2 => "
элемент2",
3 => "
элемент3");

аналогично:

$arr[1] = "элемент1";
$arr[2] = "
элемент2";

Чтобы определить количество элементов в массиве можно использовать функцию - count():

for ($i = 1; $i <= count($arr); $i++)
{
echo
$arr[$i]." ";
}
?>

Индексом в массиве может служить не только число но и текстовое имя, это называется ассоциативный массив:

$arr = array("first" => "значение",
"Name" => "
значение",
"php000" => "
значение");
?>

или

$arr["name"] = "value";

В ассоциативноммассиве индексы называются ключами. Для вывода элемента массива в строке кавычки (ни двойные, ни одинарные) указывать не следует:

echo "$arr[first] $arr[second] $arr[third]";
?>

Так как у ассоциативных массивов нет индексов, для обхода их введён специальный вид цикла — foreach:

foreach($arr as $key => $value)
{
echo
"$key = $value
"
;
}
?>

В результате работы цикла будет выведено три строки

first = PHP
second = MySQL
third = Apache

Конструкция "$key =>", позволяющая получить доступ к ключу массива на каждом из циклов является не обязательно и может быть опущена:

foreach($arr as $value)
{
echo
"$value
"
;
}
?>

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

$arr = file("text.txt");
for(
$i = 0; $i < count($arr); $i++)
{
echo
$arr[$i]."
"
;
}
?>

Другой полезной функцией является функция explode(), которая позволяет разбить строку на несколько фрагментов, каждый из которых помещается в отдельный элемент массива:

$str = "345|mail@mail.ru|http://php.at.ua|login|password";
$arr = explode("|",$str);
for(
$i = 0; $i < count($arr); $i++)
{
echo
$arr[$i]."
"
;
}
?>

Результат работы скрипта может выглядеть следующим образом:

345
mail@mail.ru
http://php.at.ua
login
password

Существует и обратная функция — implode(), которая объединяет, элементы массива в строку, используя для этого заданный разделитель:

$arr[] = "345";
$arr[] = "mail@mail.ru";
$arr[] = "http://
php.at.ua";
$arr[] = "login";
$arr[] = "password";
$str = implode("##",$arr);
echo
$str; //345##mail@mail.ru##http://
php.at.ua##login##password
?>

Замечание

Вообще функций, которые потрошат строку превеликое множество, рассмотрение всех их выходят за рамки данной статьи.

Удалить отдельный элемент массива можно при помощи функции unset(), а проверить существование массива можно при помощи функции isset(). Определим массив из 10 элементов и уничтожим каждый чётный элемент.

$arr = array(9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
unset(
$arr[0], $arr[2], $arr[4], $arr[6], $arr[8]);
// Проверяем существуют ли элементы массива
for($i = 0; $i < 10; $i++)
{
if(isset(
$arr[$i])) echo "Элемент $arr[$i] определён
"
;
else echo
"Элемент $arr[$i] не определён
"
;
}
?>

Результатом работы скрипта из будут следующие строки

Элемент $arr[0] не определён
Элемент $arr[1] определён
Элемент $arr[2] не определён
Элемент $arr[3] определён
Элемент $arr[4] не определён
Элемент $arr[5] определён
Элемент $arr[6] не определён
Элемент $arr[7] определён
Элемент $arr[8] не определён
Элемент $arr[9] определён

Функция unset() уничтожает весть массив сразу.

До этого массивы выводились при помощи цикла, однако в PHP предусмотрена специальная функция для вывода дампа массива print_r().

print_r($arr);

Результат работы скрипта выглядит следующим образом:

Array
(
[0] => 345
[1] => mail@mail.ru
[2] => http://
php.at.ua
[3] => login
[4] => password
)

Многомерные массивы

В качестве элементов массива могут выступать не только скалярные величины, но и сами массивы. В этом случае получаются так называемые многомерные массивы.

Пусть необходимо получить такую таблицу:

Имя Фамилия Возраст
Джон Смит 25
Сем Фейл 30
Крейк Дентон
27

Создание такого двухмерного массива:

$arr = array( array(‘Джон’, ‘Смит’, 25 ),
array(
‘Сем’,’Фейл’, 30),
array(
‘Крейк’, ‘Дентон’, 27));
?>

Обращение к эелементам:

$arr[0][2];

Смотрите продолжение статьи: "Массивы в примерах (часть2)"



Источник: http://softtime.ru
Категория: PHP в примерах
Просмотров: 9425 | Комментарии: 1
Всего комментариев: 1
1  
Мужики уникальный контент рулит! А у вас везде на всех сайтах одни и те еж примеры и один и тот же текст! вас гугл любить не будет и яндекс!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright Viktor L.P. © 2017 Бесплатный конструктор сайтов - uCoz
down