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

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 86: Рядок 86:
  
 
<h2>Фукціі для роботи з масивами і операції над масивами</h2>
 
<h2>Фукціі для роботи з масивами і операції над масивами</h2>
<h3 style="color:#003399">Функции для работы с массивами</h3>
+
<h3 style="color:#003399">Функції для роботи з масивами</h3>
<p>Рассмотрим некоторые часто используемые функции для работы с массивами.</p>
+
<p>Розглянемо деякі основні функції для роботи з масивами.</p>
<p style="color:green"><strong>Функция list()</strong></p>
+
<p style="color:green"><strong>Функція list()</strong></p>
<p>Предположим, у нас есть массив, состоящий из трех элементов:</p>
+
<p>Припустимо, у нас є масив, що складається з трьох елементів:</p>
 
  <code>$names[0]=&quot;Александр&quot;;<br>$names[1]=&quot;Николай&quot;;<br>$names[2]=&quot;Яков&quot;;</code>
 
  <code>$names[0]=&quot;Александр&quot;;<br>$names[1]=&quot;Николай&quot;;<br>$names[2]=&quot;Яков&quot;;</code>
  
<p>Допустим, в какой-то момент нам нужно передать значения всех трех элементов массива, соответственно трем переменным: <strong>$alex</strong>, <strong>$nick</strong>, <strong>$yakov</strong>. Это можно сделать так:
+
<p>Припустимо, в якийсь момент нам потрібно передати значення всіх трьох елементів масиву, відповідно трьом змінним: <strong>$alex</strong>, <strong>$nick</strong>, <strong>$yakov</strong>. Это можно сделать так:
 
</p>
 
</p>
 
  <code>$alex = $names[0];<br>$nick = $names[1];<br>$yakov = $names[2];</code>
 
  <code>$alex = $names[0];<br>$nick = $names[1];<br>$yakov = $names[2];</code>
<p>Если массив большой, то такой способ присвоения элементов массива переменным не очень удобен.</p>
+
<p>Якщо масив великий, то такий спосіб привласнення елементів масиву змінним не дуже зручний.</p>
<p>Есть более рациональный подход - использование функции <strong></strong>:</p>
+
<p>Є більш раціональний підхід - використання функції.<strong></strong>:</p>
 
  <code>list ($alex, $nick, $yakov) = $names;</code>
 
  <code>list ($alex, $nick, $yakov) = $names;</code>
<p>Если нам нужны только &quot;Николай&quot; и &quot;Яков&quot;, то мы можем сделать так:</p>
+
<p>Якщо нам потрібні тільки &quot;Николай&quot; и &quot;Яков&quot;, тоді ми можемо зробити так:</p>
  
 
  <code>list (, $nick, $yakov) = $names;</code>
 
  <code>list (, $nick, $yakov) = $names;</code>

Версія за 08:32, 16 квітня 2010

Асоціативні масиви в PHP

В У PHP індексом масиву може бути не тільки число, а й рядок. Причому на такий рядок не накладаються ніякі обмежень: він може містити пробіли, довжина такого рядка може бути будь-яка.

Асоціативні масиви особливо зручні в ситуаціях, коли елементи масиву зручніше пов'язувати зі словами, а не з числами.

Отже, масиви, індексами яких є рядки, називаються асоціативними масивами.</ins>.

Одновимірні асоціативні масиви::

Одновимірні асоціативні масиви містять тільки один ключ (елемент), відповідний конкретному індексу асоціативного масиву. Наведемо приклад:

<?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]
?>

Фукціі для роботи з масивами і операції над масивами

Функції для роботи з масивами

Розглянемо деякі основні функції для роботи з масивами.

Функція list()

Припустимо, у нас є масив, що складається з трьох елементів:

$names[0]="Александр";
$names[1]="Николай";
$names[2]="Яков";

Припустимо, в якийсь момент нам потрібно передати значення всіх трьох елементів масиву, відповідно трьом змінним: $alex, $nick, $yakov. Это можно сделать так:

$alex = $names[0];
$nick = $names[1];
$yakov = $names[2];

Якщо масив великий, то такий спосіб привласнення елементів масиву змінним не дуже зручний.

Є більш раціональний підхід - використання функції.:

list ($alex, $nick, $yakov) = $names;

Якщо нам потрібні тільки "Николай" и "Яков", тоді ми можемо зробити так:

list (, $nick, $yakov) = $names;

Функция array()

Функция используется специально для создания массивов. При этом она позволяет создавать пустые массивы. Вот методы использования функции Array():

<?php
// Создает пустой массив:
$arr = array();
// Создает список с тремя элементами. Индексы начинаются с нуля:
$arr2 = array("Иванов","Петров","Сидоров");
// Создает ассоциативный массив с тремя элементами:
$arr3 = array("Иванов"=>"Иван", "Петров"=>"Петр", "Сидоров"=>"Сидор");
// Создает многомерный ассоциативный массив:
$arr4 = array("name"=>"Иванов", "age"=>"24", "email"=>"[email protected]");
$arr4 = array("name"=>"Петров", "age"=>"34", "email"=>"[email protected]");
$arr4 = array("name"=>"Сидоров", "age"=>"47", "email"=>"[email protected]");
?>