Массив представляет собой структуру данных, которая хранит одно или несколько значений в одном месте. Таким образом это именованный набор однотипных данных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (в отличие от списка, где доступ к элементам напрямую невозможен, только путем прохода всего списка до нужного элемента).
PHP — массив с числовыми индексами
Если это ваш первый опыт работы с массивами, то вы, возможно, не вполне понимаете их концепцию. Представьте, что вы являетесь владельцем бизнеса и хотите сохранить имена всех ваших сотрудников в переменной PHP. Как бы вы это сделали?
Нет смысла хранить каждое имя в своей переменной. Вместо этого, было бы неплохо хранить все имена сотрудников внутри одной переменной. Вот тут-то в дело и вступают массивы, и сейчас мы с ними разберемся на примере.
В приведенном выше примере мы использовали ключ / значение. Ключи были числами, указанными в квадратных скобках и значения — имена сотрудников. Каждый ключ массива представляет собой значение, что-то наподобие ссылки. В общем виде для присвоения элементу массива значения требуется запись вида:
$array[ключ] = значение;
Примечание: Как вы могли заметить из приведенного выше примера кода, ключи массива начинаются с 0, а не 1. Это очень распространенная проблема для многих начинающих программистов, которые привыкли считать от 1.
Если мы хотим, получить сохраненное значение, то нам понадобится сделать следующее:
echo "Два моих работника: "
. $employee_array[0] . " и " . $employee_array[1];
echo "< br />И еще два работника: "
. $employee_array[2] . " и " . $employee_array[3];
Результат:
Два моих работника: Петя и Вася
И еще два работника: Ваня и Федор Петрович
PHP массивы очень полезны при использовании в сочетании с циклами, которые мы рассмотрим чуть позже. Выше мы показали пример массива, который использовал целые числа в качестве ключей (численно индексированный массив). Однако, вы также можете указать строку в качестве ключа, тогда это будет уже ассоциативный массив.
PHP — ассоциативные массивы
В ассоциативном массиве ключ связан со значением. Если вы хотите сохранить заработную плату своих сотрудников в массив, то числовой индекс будет не лучшим выбором, так как в них можно запутаться. Вместо этого мы могли бы использовать имена сотрудников в качестве ключей в нашем ассоциативном массиве, а значением будет их зарплата.
echo 'Петя получает - $' . $salaries["Петя"] . '< br />';
echo 'Вася получает - $' . $salaries["Вася"] . '< br />';
echo 'А Ваня получает всего - $' . $salaries["Ваня"] . '< br />';
echo 'Даша в этом месяце не работала, поэтому - $' . $salaries["Даша"];
Вот и все о массивах, думаю вы во всем уже разобрались, ведь тут все достаточно просто. Всегда используйте массивы если у вас много значений, которые требуется где-то хранить. В некоторых случаях помогут списки, но о них немного позже. На сегодня все ;)
P.S. < br /> без первого пробела!
echo "Петя получает - $" . $salaries["Петя"] . "< br />";
echo "Вася получает - $" . $salaries["Вася"] . "< br />";
echo "А Ваня получает всего - $" . $salaries["Ваня"] . "< br />";
echo "Даша в этом месяце не работала, поэтому - $" . $salaries["Даша"]
Мне кажется что в этом коде ошибка. Я думаю если запустить такой скрипт, то либо в браузере выведится сообщение о php о том, что произошла ошибка в коде, либо в браузере не выведится значения массива $salaries. Как мне известно что в случае если надо вывести знак $, то надо применять экранирующий символ:\ , то есть делать либо так:
echo "Петя получает - \$" . $salaries["Петя"] . "< br />";
echo "Вася получает - \$" . $salaries["Вася"] . "< br />";
echo "А Ваня получает всего - \$" . $salaries["Ваня"] . "< br />";
echo "Даша в этом месяце не работала, поэтому - \$" . $salaries["Даша"]
Либо применить строку с одинарными ковычками, то есть так:
echo 'Петя получает - $' . $salaries["Петя"] . "< br />";
echo 'Вася получает - $' . $salaries["Вася"] . "< br />";
echo 'А Ваня получает всего - $' . $salaries["Ваня"] . "< br />";
echo 'Даша в этом месяце не работала, поэтому - $' . $salaries["Даша"]
Мне кажется что в этом коде ошибка. Я думаю если запустить такой скрипт, то либо в браузере выведится сообщение о php о том, что произошла ошибка в коде, либо в браузере не выведится значения массива $salaries. Как мне известно что в случае если надо вывести знак $, то надо применять экранирующий символ:\ , то есть делать либо так:
echo "Петя получает - \$" . $salaries["Петя"] . "< br />";
echo "Вася получает - \$" . $salaries["Вася"] . "< br />";
echo "А Ваня получает всего - \$" . $salaries["Ваня"] . "< br />";
echo "Даша в этом месяце не работала, поэтому - \$" . $salaries["Даша"]
Либо применить строку с одинарными ковычками, то есть так:
echo 'Петя получает - $' . $salaries["Петя"] . "< br />";
echo 'Вася получает - $' . $salaries["Вася"] . "< br />";
echo 'А Ваня получает всего - $' . $salaries["Ваня"] . "< br />";
echo 'Даша в этом месяце не работала, поэтому - $' . $salaries["Даша"]