Приветствую Вас ГостьВторник, 11.02.2025, 04:19

Light Midnight Inc.


Каталог статей

Главная » Статьи » Программирование » PHP/JavaScripts

Массивы в примерах

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

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

  $arr = array('PHP''MySQL''Apache'); 
?>

или

  $arr[] = "PHP"
  
$arr[] = "MySQL"
  
$arr[] = "Apache"
?>

В C-подобных языках программирования, индекс массива традиционно начинается с 0. Это означает, что если мы захотим вывести первое значение массива "PHP", нам потребуется обратиться к нулевому индексу:

  echo $arr[0]; // PHP 
?>

Если требуется начать массив с другого индекса, например, с 1, то необходимо явно это указать в конструкцииarray():

  $arr = array(=> "PHP"
               
=> "MySQL"
               
=> "Apache"); 
?>

или

  $arr[1] = "PHP"
  
$arr[2] = "MySQL"
  
$arr[3] = "Apache"
?>

Элементы массива можно использовать в двойных кавычках как обычные переменные, так код

  echo "$arr[1] $arr[2] $arr[3]"
?>

или через цикл:

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

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

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

Выведет строку "PHP MySQL Apache". В качестве индексов массива могут выступать не только числа, но и строки:

  $arr = array("first" => "PHP"
               
"second" => "MySQL"
               
"third" => "Apache"); 
?>

или

  $arr["first"] = "PHP"
  
$arr["second"] = "MySQL"
  
$arr["third"] = "Apache"
?>

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

  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://www.softtime.ru|login|password"
  
$arr explode("|",$str); 
  for(
$i 0$i count($arr); $i++) 
  { 
     echo 
$arr[$i]."
"

  } 
?>

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

345 
mail@mail.ru 
http://www.softtime.ru 
login 
password

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

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

Замечание

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

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

  $arr = array(9876543210); 
  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() можно уничтожить весть массив сразу.

  $arr = array(9876543210); 
  unset(
$arr); 
  if(isset(
$arr)) echo "Массив определён"
  else echo 
"Массив не определён"
?>

До этого массивы выводились при помощи цикла, однако в PHP предусмотрена специальная функция для вывода дампа массива print_r(). Функция ориентирована на вывод в консольный поток, поэтому при выводе результатов в окно браузера лучше обрамить её тэгами <pre> и </pre>:

$arr[] = "345";
$arr[] = "mail@mail.ru";
$arr[] = "http://www.softtime.ru";
$arr[] = "login";
$arr[] = "password";
echo "

";
print_r($arr);
echo "
";
?>

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

Array 

    [0] => 345 
    [1] => mail@mail.ru 
    [2] => http://www.softtime.ru 
    [3] => login 
    [4] => password 
)

Категория: PHP/JavaScripts | Добавил: Cromartie (31.01.2013)
Просмотров: 501 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Оцените мой сайт
Всего ответов: 543
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0
Реклама
Cheсking
Часы
Мини-чат
200
Друзья Сайта
  • Light Midnight - Ваша Еда
  • Light Midnight - Anim as life style
  • Поиск