Відмінності між версіями «Робота з асоціативними масивами в PHP»
(Створена сторінка: <h3 style="color:#003399">Ассоциативные массивы в PHP</h3> <p>В PHP индексом массива может быть не только ч…) |
|||
Рядок 1: | Рядок 1: | ||
− | <h3 | + | <h3>Ассоциативные массивы в PHP</h3> |
− | + | В PHP индексом массива может быть не только число, но и строка. Причем на такую строку не накладываются никакие ограничения: она может содержать пробелы, длина такой строки может быть любой. | |
− | + | Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.</P> | |
<p>Итак, массивы, индексами которых являются строки, называются <ins>ассоциативными массивами</ins>.</p> | <p>Итак, массивы, индексами которых являются строки, называются <ins>ассоциативными массивами</ins>.</p> | ||
<p><ins>Одномерные ассоциативные массивы</ins>:</p> | <p><ins>Одномерные ассоциативные массивы</ins>:</p> |
Версія за 12:44, 12 квітня 2010
Ассоциативные массивы в PHP
В PHP индексом массива может быть не только число, но и строка. Причем на такую строку не накладываются никакие ограничения: она может содержать пробелы, длина такой строки может быть любой. Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.</P>
Итак, массивы, индексами которых являются строки, называются ассоциативными массивами.
Одномерные ассоциативные массивы:
Одномерные ассоциативные массивы содержат только один ключ (элемент), соответствующий конкретному индексу ассоциативного массива. Приведем пример:
<?php
// Ассоциативный массив
$names["Иванов"]="Иван";
$names["Сидоров"]="Николай";
$names["Петров"]="Петр";
// В данном примере: фамилии - ключи ассоциативного массива
// , а имена - элементы массива names
?>
Доступ к элементам одномерных ассоциативных массивов осуществляется так же, как и к элементам обыкновенных массивов, и называется доступом по ключу:
echo $names["Иванов"];
Многомерные ассоциативные массивы:
Многомерные ассоциативные массивы могут содержать несколько ключей, соответствующих конкретному индексу ассоциативного массива. Рассмотрим пример многомерного ассоциативного массива:
<?php
// Многомерный массив
$A["Ivanov"] = array("name"=>"Иванов И.И.", "age"=>"25", "email"=>"[email protected]");
$A["Petrov"] = array("name"=>"Петров П.П.", "age"=>"34", "email"=>"[email protected]");
$A["Sidorov"] = array("name"=>"Сидоров С.С.", "age"=>"47", "email"=>"[email protected]");
?>
Многомерные массивы похожи на записи в языке Pascal или структуры в языке C.
Доступ к элементам многомерного ассоциативного массива осуществляется следующим образом:
echo $A["Ivanov"]["name"]; // Выводит Иванов И.И.
echo $A["Petrov"]["email"]; // Выводит [email protected]
Как вы уже заметили, для создания многомерного ассоциативного массива мы использовали специальную функцию array, мы ее рассмотрим позже, когда будем рассматривать операции над массивами.
Ассоциативные многомерные массивы можно создавать и классическим способом, хотя это не так удобно:
<?php
// Многомерный ассоциативный массив
$A["Ivanov"]["name"]="Иванов И.И.";
$A["Ivanov"]["age"]="25";
$A["Ivanov"]["email"]="[email protected]";
$A["Petrov"]["name"]="Петров П.П.";
$A["Petrov"]["age"]="34";
$A["Petrov"]["email"]="[email protected]";
$A["Sidorov"]["name"]="Сидоров С.С.";
$A["Sidorov"]["age"]="47";
$A["Sidorov"]["email"]="[email protected]";
// Получаем доступ к ключам многомерного ассоциативного массива
echo $A["Ivanov"]["name"]."<br>"; // Выводит Иванов И.И.
echo $A["Sidorov"]["age"]."<br>"; // Выводит 47
echo $A["Petrov"]["email"]."<br>"; // Выводит [email protected]
?>