PHP - อาร์เรย์

อาร์เรย์คือโครงสร้างข้อมูลที่เก็บค่าประเภทเดียวกันอย่างน้อยหนึ่งค่าไว้ในค่าเดียว ตัวอย่างเช่นหากคุณต้องการจัดเก็บตัวเลข 100 ตัวแทนที่จะกำหนดตัวแปร 100 ตัวคุณสามารถกำหนดอาร์เรย์ที่มีความยาว 100 ได้อย่างง่ายดาย

อาร์เรย์มีสามประเภทที่แตกต่างกันและแต่ละค่าอาร์เรย์เข้าถึงได้โดยใช้ ID 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

อาร์เรย์เชื่อมโยง

อาร์เรย์ที่เชื่อมโยงมีความคล้ายคลึงกับอาร์เรย์ตัวเลขในแง่ของฟังก์ชันการทำงาน แต่แตกต่างกันในแง่ของดัชนี Associative array จะมีดัชนีเป็นสตริงเพื่อให้คุณสามารถสร้างการเชื่อมโยงที่แข็งแกร่งระหว่างคีย์และค่า

ในการจัดเก็บเงินเดือนของพนักงานในอาร์เรย์อาร์เรย์ที่จัดทำดัชนีด้วยตัวเลขจะไม่ใช่ทางเลือกที่ดีที่สุด แต่เราสามารถใช้ชื่อพนักงานเป็นกุญแจในอาร์เรย์ที่เชื่อมโยงของเราได้และมูลค่าจะเป็นเงินเดือนของพวกเขา

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