Mảng đa chiều PHP

Một mảng chứa một hoặc nhiều mảng là mảng nhiều chiều. Mảng nhiều chiều mỗi phần tử trong mảng chính cũng có thể là mảng. Và mỗi phần tử trong mảng con có thể là một mảng, v.v. Các giá trị trong mảng nhiều chiều được truy cập bằng nhiều chỉ mục

Thí dụ

Để triển khai các mảng nhiều chiều trong PHP, mã như sau−

Bản thử trực tiếp

 array [
      "physics" => 95,
      "maths" => 90,
    ],
    "ryan" => array [
      "physics" => 92,
      "maths" => 97,
    ],
];
   echo "Marks for kevin in physics : " ;
   echo $marks['kevin']['physics'] . "
";    echo "Marks for ryan in maths : ";    echo $marks['ryan']['maths'] . "
"; ?>

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Marks for kevin in physics : 95
Marks for ryan in maths : 97

Thí dụ

Bây giờ chúng ta hãy xem một ví dụ khác, trong đó chúng ta đang tạo mảng 3 chiều -

Bản thử trực tiếp

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Array
[
   [0] => Array
      [
         [0] => Array
            [
               [0] => 100
               [1] => 150
            ]
            [1] => Array
               [
                  [0] => 200
                  [1] => 250
               ]
      ]
      [1] => Array
          [
            [0] => Array
               [
                  [0] => 300
                  [1] => 350
               ]
               [1] => Array
                [
                  [0] => 400
                  [1] => 500
                ]
        ]
]

Các phần tử mảng trong PHP có thể chứa các giá trị thuộc bất kỳ loại nào, chẳng hạn như số, chuỗi và đối tượng. Chúng cũng có thể chứa các mảng khác, có nghĩa là bạn có thể tạo các mảng đa chiều hoặc lồng nhau

Trong hướng dẫn này, bạn tìm hiểu cách tạo mảng nhiều chiều, cách truy cập các phần tử trong mảng nhiều chiều và cách lặp qua các mảng nhiều chiều

Cách tạo mảng nhiều chiều

Bạn tạo một mảng nhiều chiều bằng cách sử dụng cấu trúc array[], giống như tạo một mảng thông thường. Sự khác biệt là mỗi phần tử trong mảng bạn tạo chính là một mảng

Ví dụ


$myArray = array[
  array[ value1, value2, value3 ],
  array[ value4, value5, value6 ],
  array[ value7, value8, value9 ]
];

Ví dụ trên tạo mảng 2 chiều. Mảng cấp cao nhất chứa 3 phần tử. Bản thân mỗi phần tử là một mảng chứa 3 giá trị

Bạn cũng có thể sử dụng mảng kết hợp trong mảng nhiều chiều. Ví dụ sau tạo một mảng được lập chỉ mục chứa 3 mảng kết hợp


$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];

Bạn có thể lồng các mảng sâu bao nhiêu cấp độ tùy thích [mặc dù hiếm khi vượt quá 3 cấp độ]. Đây là một mảng 3 chiều


$myArray = array[
  array[
    array[ value1, value2 ],
    array[ value3, value4 ]
  ],
  array[
    array[ value5, value6 ],
    array[ value7, value8 ]
  ]
];

Truy cập các phần tử trong mảng nhiều chiều

Để truy cập các phần tử mảng nhiều chiều, bạn có thể sử dụng cùng một cú pháp dấu ngoặc vuông mà bạn sử dụng với các mảng thông thường. Nếu bạn muốn truy cập các phần tử mảng cấp hai trong mảng 2 chiều, chỉ cần sử dụng 2 bộ dấu ngoặc vuông — ví dụ


$myArray = array[
  array[ "one", "two", "three" ],
  array[ "four", "five", "six" ]
];

// Displays "six"
echo $myArray[1][2];
?>

Dưới đây là một số ví dụ truy cập các phần tử khác nhau trong mảng nhiều chiều $movies được tạo trước đó


echo "The title of the first movie:
"; echo $movies[0]["title"] . "

"; echo "The director of the third movie:
"; echo $movies[2]["director"] . "

"; echo "The nested array contained in the first element:
"; print_r[ $movies[0] ]; echo "

";

Đoạn mã trên tạo ra đầu ra sau

________số 8_______

Ví dụ cuối cùng sử dụng


$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];
0 để truy cập toàn bộ mảng lồng nhau chứa trong phần tử đầu tiên của mảng cấp cao nhất, sau đó sử dụng

$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];
1 để hiển thị nội dung của mảng. [Tìm hiểu thêm về

$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];
1 trong Làm việc với các phần tử mảng trong PHP. ]

Lặp qua các mảng nhiều chiều

Cũng giống như các mảng một chiều thông thường, bạn có thể sử dụng


$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];
3 để lặp qua các mảng nhiều chiều. Để làm điều này, bạn cần tạo các vòng lặp

$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];
3 lồng nhau — nghĩa là vòng lặp này bên trong vòng lặp khác

  1. Vòng lặp bên ngoài đọc từng phần tử trong mảng cấp cao nhất
  2. Đối với mỗi phần tử cấp cao nhất đó, vòng lặp bên trong sẽ di chuyển qua mảng chứa trong phần tử cấp cao nhất, v.v.

Đây là một ví dụ tạo mảng thông tin phim 2 chiều, sau đó lặp qua mảng, hiển thị thông tin trong trang


$movies = array[
  array[
    "title" => "Rear Window",
    "director" => "Alfred Hitchcock",
    "year" => 1954
  ],
  array[
    "title" => "Full Metal Jacket",
    "director" => "Stanley Kubrick",
    "year" => 1987
  ],
  array[
    "title" => "Mean Streets",
    "director" => "Martin Scorsese",
    "year" => 1973
  ]
];

foreach [ $movies as $movie ] {

  echo '';

  foreach [ $movie as $key => $value ] {
    echo "$key$value";
  }

  echo '';
}

Đoạn script trên hiển thị như sau

title
    Rear Window
director
    Alfred Hitchcock
year
    1954

title
    Full Metal Jacket
director
    Stanley Kubrick
year
    1987

title
    Mean Streets
director
    Martin Scorsese
year
    1973

Tóm lược

Trong hướng dẫn này, bạn đã biết cách tạo, thao tác và lặp qua các mảng nhiều chiều trong PHP. Mảng đa chiều rất hữu ích cho mọi thứ, chẳng hạn như lưu trữ nhiều bản ghi cơ sở dữ liệu và lưu trữ dữ liệu để hiển thị trong bảng. Bây giờ bạn đã biết cách sử dụng chúng, bạn có thể thêm một cấp độ tinh vi mới vào tập lệnh PHP của mình

Mảng đa chiều trong PHP là gì?

Mảng nhiều chiều là mảng chứa một hoặc nhiều mảng . PHP hỗ trợ các mảng đa chiều có độ sâu hai, ba, bốn, năm hoặc nhiều cấp độ hơn. Tuy nhiên, mảng sâu hơn ba cấp khó quản lý đối với hầu hết mọi người.

Làm cách nào để tạo một mảng nhiều chiều trong PHP?

Bạn tạo một mảng nhiều chiều sử dụng cấu trúc array[] , giống như tạo một mảng thông thường. Sự khác biệt là mỗi phần tử trong mảng bạn tạo chính là một mảng. Ví dụ. $myArray = mảng[mảng[giá trị1,giá trị2,giá trị3],mảng[giá trị4,giá trị5,giá trị6],mảng[giá trị7,giá trị8,giá trị9]];

Làm cách nào để lưu trữ các giá trị trong mảng đa chiều trong PHP?

Để lưu trữ nhiều giá trị, có hai cách thực hiện tác vụ. Một cách là gán mỗi giá trị cho một biến duy nhất , và cách khác, hiệu quả hơn nhiều, là gán nhiều giá trị cho một biến. Đó là những gì chúng ta gọi là một mảng. Một mảng là một cách để lưu trữ nhiều giá trị trong một biến duy nhất.

Làm cách nào để thêm hai mảng nhiều chiều trong PHP?

$C=mảng[ mảng["a1"=>1,"b1"=>2,"c1"=>"A"], mảng["a1"=>1,"b1"=>16,"c1"

Chủ Đề