Header Ads

PHP 5 Multidimensional Arrays

PHP - Multidimensional Arrays

A multidimensional array is an array containing one or more arrays.


PHP understands multidimensional arrays that are two, three, four, five, or more levels deep. However, arrays more than three levels deep are hard to manage for most people.

PHP - Two-dimensional Arrays

A two-dimensional array is an array of arrays (a three-dimensional array is an array of arrays of arrays).

First, take a look at the following table:

NAME                                                 STOCK                                 SOLD

VOLVO                                                           22                                                    18
BMW                                                                 15                                                    13
Saab                                                                    5                                                      2
Land Rover                                                     17                                                    15



We can store the data from the table above in a two-dimensional array, like this:
$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );
Now the two-dimensional $cars array contains four arrays, and it has two indices: row and column.

To get access to the elements of the $cars array we must point to the two indices (row and column):

<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>

The output:

Volvo: In stock: 22, sold: 18.
BMW: In stock: 15, sold: 13.
Saab: In stock: 5, sold: 2.
Land Rover: In stock: 17, sold: 15.

We can also put a For loop inside another For loop to get the elements of the $cars array (we still have to point to the two indices):

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Row number $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
  • }
  • ?>

The Output:

Row number 0
  • Volvo
  • 22
  • 18
Row number 1
  • BMW
  • 15
  • 13
Row number 2
  • Saab
  • 5
  • 2
Row number 3
  • Land Rover
  • 17
  • 15


No comments

Powered by Blogger.