PHP - Массивы

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

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

  • Numeric array- Массив с числовым индексом. Значения хранятся и доступны линейно.

  • Associative array- Массив со строками в качестве индекса. При этом значения элементов хранятся вместе со значениями ключей, а не в строгом линейном порядке индекса.

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

NOTE- Встроенные функции массива приведены в справочнике функций PHP Array Functions.

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

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

пример

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

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

<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

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

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

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

NOTE - Не храните ассоциативный массив внутри двойных кавычек при печати, иначе он не вернет никакого значения.

пример

<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

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

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

пример

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

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

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

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

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39