Учебники

PHP — Массивы

Массив — это структура данных, в которой один или несколько значений одного типа хранятся в одном значении. Например, если вы хотите сохранить 100 чисел, тогда вместо определения 100 переменных легко определить массив длиной 100.

Существует три вида массивов, и к каждому значению массива обращаются с помощью идентификатора c, который называется индексом массива.

  • Числовой массив — массив с числовым индексом. Значения хранятся и доступны линейно.

  • Ассоциативный массив — массив со строками в качестве индекса. При этом значения элементов хранятся в сочетании со значениями ключей, а не в строгом порядке линейного индекса.

  • Многомерный массив . Массив, содержащий один или несколько массивов и значений, доступен с использованием нескольких индексов.

Числовой массив — массив с числовым индексом. Значения хранятся и доступны линейно.

Ассоциативный массив — массив со строками в качестве индекса. При этом значения элементов хранятся в сочетании со значениями ключей, а не в строгом порядке линейного индекса.

Многомерный массив . Массив, содержащий один или несколько массивов и значений, доступен с использованием нескольких индексов.

ПРИМЕЧАНИЕ. — Встроенные функции массива приведены в справочнике по функциям PHP Array Functions.

Числовой массив

Эти массивы могут хранить числа, строки и любой объект, но их индекс будет представлен числами. По умолчанию индекс массива начинается с нуля.

пример

Ниже приведен пример, показывающий, как создавать и получать доступ к числовым массивам.

Здесь мы использовали функцию array () для создания массива. Эта функция объяснена в справочнике функций.

Live Demo

<html>
   <body>
   
      <?php
         /* First method to create array. */
         $numbers = array( 1, 2, 3, 4, 5);
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
         
         /* Second method to create array. */
         $numbers[0] = "one";
         $numbers[1] = "two";
         $numbers[2] = "three";
         $numbers[3] = "four";
         $numbers[4] = "five";
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
      ?>
      
   </body>
</html>

Это даст следующий результат —

Value is 1 
Value is 2 
Value is 3 
Value is 4 
Value is 5 
Value is one 
Value is two 
Value is three 
Value is four 
Value is five 

Ассоциативные массивы

Ассоциативные массивы очень похожи на числовые массивы с точки зрения функциональности, но они отличаются с точки зрения их индекса. Ассоциативный массив будет иметь свой индекс в виде строки, чтобы вы могли установить сильную связь между ключом и значениями.

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

ПРИМЕЧАНИЕ. — Не храните ассоциативный массив внутри двойных кавычек при печати, иначе он не вернет никакого значения.

пример

Live Demo

<html>
   <body>
      
      <?php
         /* First method to associate create array. */
         $salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
         
         /* Second method to create array. */
         $salaries['mohammad'] = "high";
         $salaries['qadir'] = "medium";
         $salaries['zara'] = "low";
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
      ?>
   
   </body>
</html>

Это даст следующий результат —

Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low

Многомерные массивы

В многомерном массиве каждый элемент основного массива также может быть массивом. И каждый элемент в подмассиве может быть массивом и так далее. Доступ к значениям в многомерном массиве осуществляется с использованием множественного индекса.

пример

В этом примере мы создаем двумерный массив для хранения оценок трех учеников по трем предметам —

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

Live Demo

<html>
   <body>
      
      <?php
         $marks = array( 
            "mohammad" => array (
               "physics" => 35,
               "maths" => 30,	
               "chemistry" => 39
            ),
            
            "qadir" => array (
               "physics" => 30,
               "maths" => 32,
               "chemistry" => 29
            ),
            
            "zara" => array (
               "physics" => 31,
               "maths" => 22,
               "chemistry" => 39
            )
         );
         
         /* Accessing multi-dimensional array values */
         echo "Marks for mohammad in physics : " ;
         echo $marks['mohammad']['physics'] . "<br />"; 
         
         echo "Marks for qadir in maths : ";
         echo $marks['qadir']['maths'] . "<br />"; 
         
         echo "Marks for zara in chemistry : " ;
         echo $marks['zara']['chemistry'] . "<br />"; 
      ?>
   
   </body>
</html>

Это даст следующий результат —