PHP - tablice

Tablica to struktura danych przechowująca co najmniej jeden podobny typ wartości w jednej wartości. Na przykład, jeśli chcesz zapisać 100 liczb, zamiast definiować 100 zmiennych, łatwo jest zdefiniować tablicę o długości 100.

Istnieją trzy różne rodzaje tablic, a dostęp do każdej wartości tablicy uzyskuje się za pomocą identyfikatora c, który nazywa się indeksem tablicy.

  • Numeric array- tablica z indeksem numerycznym. Wartości są przechowywane i dostępne w sposób liniowy.

  • Associative array- Tablica z ciągami znaków jako indeksem. To przechowuje wartości elementów w powiązaniu z wartościami kluczy, a nie w ścisłej liniowej kolejności indeksu.

  • Multidimensional array - Dostęp do tablicy zawierającej jedną lub więcej tablic i wartości uzyskuje się przy użyciu wielu indeksów

NOTE- Wbudowane funkcje tablicowe są podane w opisie funkcji PHP Array Functions

Tablica numeryczna

Te tablice mogą przechowywać liczby, ciągi znaków i dowolne obiekty, ale ich indeks będzie reprezentowany przez liczby. Domyślnie indeks tablicy zaczyna się od zera.

Przykład

Poniżej znajduje się przykład pokazujący, jak tworzyć tablice numeryczne i uzyskiwać do nich dostęp.

Tutaj użyliśmy array()funkcja do utworzenia tablicy. Ta funkcja jest wyjaśniona w opisie funkcji.

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

To da następujący wynik -

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

Tablice asocjacyjne

Tablice asocjacyjne są bardzo podobne do tablic numerycznych pod względem funkcjonalności, ale różnią się pod względem indeksu. Tablica asocjacyjna będzie miała indeks w postaci łańcucha, dzięki czemu można ustanowić silne powiązanie między kluczem a wartościami.

Aby przechowywać wynagrodzenia pracowników w tablicy, tablica indeksowana numerycznie nie byłaby najlepszym wyborem. Zamiast tego moglibyśmy użyć nazw pracowników jako kluczy w naszej tablicy asocjacyjnej, a wartością byłaby ich odpowiednia pensja.

NOTE - Nie przechowuj tablicy asocjacyjnej wewnątrz podwójnego cudzysłowu podczas drukowania, w przeciwnym razie nie zwróci żadnej wartości.

Przykład

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

To da następujący wynik -

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

Tablice wielowymiarowe

Wielowymiarowa tablica, każdy element w tablicy głównej może być również tablicą. Każdy element w podtablicy może być tablicą i tak dalej. Dostęp do wartości w tablicy wielowymiarowej uzyskuje się za pomocą wielu indeksów.

Przykład

W tym przykładzie tworzymy dwuwymiarową tablicę do przechowywania ocen trzech uczniów z trzech przedmiotów -

Ten przykład jest tablicą asocjacyjną, możesz utworzyć tablicę numeryczną w ten sam sposób.

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

To da następujący wynik -

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