Відмінності між версіями «Робота з асоціативними масивами в PHP»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Замінено вміст на «Прохання не плагіатити»)
 
(не показано 44 проміжні версії 3 учасників)
Рядок 1: Рядок 1:
<h3>Ассоциативные массивы в PHP</h3>
+
Прохання не плагіатити
В PHP индексом массива может быть не только число, но и строка. Причем на такую строку не накладываются никакие ограничения: она может содержать пробелы, длина такой строки может быть любой.
+
Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.</P>
+
<p>Итак, массивы, индексами которых являются строки, называются <ins>ассоциативными массивами</ins>.</p>
+
<p><ins>Одномерные ассоциативные массивы</ins>:</p>
+
<p>Одномерные ассоциативные массивы содержат только один ключ (элемент), соответствующий конкретному индексу ассоциативного массива. Приведем пример:</p>
+
<p><code><font color="#000000"><font color="#008000">&lt;?</font><font color="#0000BB">php</font><br>
+
 
+
        <font color="#FF8000">//&nbsp;Ассоциативный&nbsp;массив</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">names</font><font color="#008000">[</font><font color="#FF0000">&quot;Иванов&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Иван&quot;</font><font color="#008000">;</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">names</font><font color="#008000">[</font><font color="#FF0000">&quot;Сидоров&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Николай&quot;</font><font color="#008000">;</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">name</font><font color="#008000">s[</font><font color="#FF0000">&quot;Петров&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Петр&quot;</font><font color="#008000">;</font><br>
+
        <font color="#FF8000">//&nbsp;В&nbsp;данном&nbsp;примере:&nbsp;фамилии&nbsp;-&nbsp;ключи&nbsp;ассоциативного&nbsp;массива</font><br>
+
 
+
        <font color="#FF8000">//&nbsp;,&nbsp;а&nbsp;имена&nbsp;-&nbsp;элементы&nbsp;массива names</font><br>
+
        <font color="#008000">?&gt;</font></font></code></p>
+
<p>Доступ к элементам одномерных ассоциативных массивов осуществляется так же, как и к элементам обыкновенных массивов, и называется <ins>доступом по ключу</ins>: </p>
+
<p class="highlight"><code>echo $names[&quot;Иванов&quot;];</code></p>
+
 
+
<p><ins>Многомерные ассоциативные массивы</ins>:</p>
+
<p>Многомерные ассоциативные массивы могут содержать несколько ключей, соответствующих конкретному индексу ассоциативного массива. Рассмотрим пример многомерного ассоциативного массива:</p>
+
<p><code><font color="#000000"><font color="#008000">&lt;?</font><font color="#0000BB">php</font><br>
+
        <font color="#FF8000">//&nbsp;Многомерный&nbsp;массив</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font
+
 
+
color="#FF0000">&quot;Ivanov&quot;</font><font color="#008000">]</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#008000">=</font><font color="#0000BB">&nbsp;array</font><font
+
 
+
color="#008000">(</font><font color="#FF0000">&quot;name&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;Иванов&nbsp;И.И.&quot;</font><font
+
 
+
color="#008000">,</font><font color="#0000BB">&nbsp;</font><font
+
 
+
color="#FF0000">&quot;age&quot;</font><font color="#008000">=&gt;</font><font
+
 
+
color="#FF0000">&quot;25&quot;</font><font color="#008000">,</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#FF0000">&quot;email&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;</font><u><font
+
 
+
color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font
+
 
+
color="#008000">);</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font
+
 
+
color="#FF0000">&quot;Petrov&quot;</font><font color="#008000">]</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#008000">=</font><font color="#0000BB">&nbsp;array</font><font
+
 
+
color="#008000">(</font><font color="#FF0000">&quot;name&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;Петров&nbsp;П.П.&quot;</font><font
+
 
+
color="#008000">,</font><font color="#0000BB">&nbsp;</font><font
+
 
+
color="#FF0000">&quot;age&quot;</font><font color="#008000">=&gt;</font><font
+
 
+
color="#FF0000">&quot;34&quot;</font><font color="#008000">,</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#FF0000">&quot;email&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;</font><u><font
+
 
+
color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font
+
 
+
color="#008000">);</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font
+
 
+
color="#FF0000">&quot;Sidorov&quot;</font><font color="#008000">]</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#008000">=</font><font color="#0000BB">&nbsp;array</font><font
+
 
+
color="#008000">(</font><font color="#FF0000">&quot;name&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;Сидоров&nbsp;С.С.&quot;</font><font
+
 
+
color="#008000">,</font><font color="#0000BB">&nbsp;</font><font
+
 
+
color="#FF0000">&quot;age&quot;</font><font color="#008000">=&gt;</font><font
+
 
+
color="#FF0000">&quot;47&quot;</font><font color="#008000">,</font><font
+
 
+
color="#0000BB">&nbsp;</font><font color="#FF0000">&quot;email&quot;</font><font
+
 
+
color="#008000">=&gt;</font><font color="#FF0000">&quot;</font><u><font
+
 
+
color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font
+
 
+
color="#008000">);</font><br>
+
 
+
        <font color="#008000">?&gt;</font></font></code></p>
+
<p>Многомерные массивы похожи на записи в языке Pascal или структуры в языке C.</p>
+
<p>Доступ к элементам многомерного ассоциативного массива осуществляется следующим образом:</p>
+
<p><code>echo $A[&quot;Ivanov&quot;][&quot;name&quot;]; // Выводит Иванов И.И.<br>
+
echo $A[&quot;Petrov&quot;][&quot;email&quot;]; // Выводит [email protected]</code></p>
+
 
+
<p>Как вы уже заметили, для создания многомерного ассоциативного массива мы использовали специальную функцию <strong>array</strong>, мы ее рассмотрим позже, когда будем рассматривать операции над массивами.</p>
+
<p>Ассоциативные многомерные массивы можно создавать и классическим способом, хотя это не так удобно:</p>
+
 
+
<p><code><font color="#000000"><font color="#008000">&lt;?</font><font color="#0000BB">php</font><br>
+
        <font color="#FF8000">//&nbsp;Многомерный&nbsp;ассоциативный&nbsp;массив</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Ivanov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;name&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Иванов&nbsp;И.И.&quot;</font><font color="#008000">;</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Ivanov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;age&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;25&quot;</font><font color="#008000">;</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Ivanov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;email&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;</font><u><font color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font color="#008000">;<br>
+
        </font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Petrov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;name&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Петров&nbsp;П.П.&quot;</font><font color="#008000">;</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Petrov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;age&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;34&quot;</font><font color="#008000">;</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Petrov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;email&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;</font><u><font color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font color="#008000">;<br>
+
 
+
        </font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Sidorov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;name&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;Сидоров&nbsp;С.С.&quot;</font><font color="#008000">;</font><br>
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Sidorov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;age&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;47&quot;</font><font color="#008000">;</font><br>
+
 
+
        <font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Sidorov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;email&quot;</font><font color="#008000">]=</font><font color="#FF0000">&quot;</font><u><font color="#0000FF">[email protected]</font></u><font color="#FF0000">&quot;</font><font color="#008000">;<br>
+
        </font><br>
+
        <font color="#FF8000">//&nbsp;Получаем&nbsp;доступ&nbsp;к&nbsp;ключам&nbsp;многомерного&nbsp;ассоциативного&nbsp;массива</font><br>
+
 
+
        <font color="#0000BB">echo&nbsp;</font><font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Ivanov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;name&quot;</font><font color="#008000">].</font><font color="#FF0000">&quot;&lt;br&gt;&quot;</font><font color="#008000">;</font><font color="#0000BB">&nbsp;</font><font color="#FF8000">//&nbsp;Выводит&nbsp;Иванов&nbsp;И.И.</font><br>
+
        <font color="#0000BB">echo&nbsp;</font><font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Sidorov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;age&quot;</font><font color="#008000">].</font><font color="#FF0000">&quot;&lt;br&gt;&quot;</font><font color="#008000">;</font><font color="#0000BB">&nbsp;</font><font color="#FF8000">//&nbsp;Выводит&nbsp;47</font><br>
+
 
+
        <font color="#0000BB">echo&nbsp;</font><font color="#008000">$</font><font color="#0000BB">A</font><font color="#008000">[</font><font color="#FF0000">&quot;Petrov&quot;</font><font color="#008000">][</font><font color="#FF0000">&quot;email&quot;</font><font color="#008000">].</font><font color="#FF0000">&quot;&lt;br&gt;&quot;</font><font color="#008000">;</font><font color="#0000BB">&nbsp;</font><font color="#FF8000">//&nbsp;Выводит&nbsp;</font><u><font color="#0000FF">[email protected]</font></u><br>
+
        <font color="#008000">?&gt;</font></font></code></p>
+

Поточна версія на 11:14, 17 червня 2018

Прохання не плагіатити