Sự khác biệt giữa mảng số và mảng kết hợp trong PHP là gì?

Mảng là các biến phức tạp cho phép chúng ta lưu trữ nhiều hơn một giá trị hoặc một nhóm giá trị dưới một tên biến duy nhất. Giả sử bạn muốn lưu trữ màu trong tập lệnh PHP của mình. Lưu trữ từng màu một trong một biến có thể trông giống như thế này

Nhưng sao, nếu bạn muốn lưu tên các tiểu bang hoặc tên thành phố của một quốc gia trong các biến và lần này không chỉ ba mà có thể là hàng trăm. Việc lưu tên mỗi thành phố vào một biến riêng biệt là một ý tưởng khá khó, nhàm chán và tồi. Và ở đây mảng phát huy tác dụng


Các loại mảng trong PHP

Có ba loại mảng mà bạn có thể tạo. đó là

  • Mảng được lập chỉ mục — Một mảng có một phím số
  • Mảng kết hợp — Một mảng trong đó mỗi khóa có giá trị cụ thể của riêng nó
  • Mảng đa chiều — Mảng chứa một hoặc nhiều mảng bên trong chính nó

Mảng được lập chỉ mục

Một mảng được lập chỉ mục hoặc số lưu trữ từng phần tử mảng với một chỉ mục số. Các ví dụ sau đây cho thấy hai cách tạo một mảng được lập chỉ mục, cách dễ nhất là

Ghi chú. Trong một mảng được lập chỉ mục hoặc mảng số, các chỉ mục được gán tự động và bắt đầu bằng 0 và các giá trị có thể là bất kỳ loại dữ liệu nào

Điều này tương đương với ví dụ sau, trong đó các chỉ mục được gán thủ công


Mảng kết hợp

Trong một mảng kết hợp, các khóa được gán cho các giá trị có thể là các chuỗi tùy ý và do người dùng xác định. Trong ví dụ sau, mảng sử dụng khóa thay vì số chỉ mục

22, "Clark"=>32, "John"=>28);
?>

Ví dụ sau tương đương với ví dụ trước, nhưng chỉ ra một cách khác để tạo mảng kết hợp


Mảng nhiều chiều là mảng trong đó mỗi phần tử cũng có thể là một mảng và mỗi phần tử trong mảng con có thể là một mảng hoặc hơn nữa chứa mảng trong chính nó, v.v. Một ví dụ về mảng nhiều chiều sẽ giống như thế này

 "Peter Parker",
        "email" => "[email protected]",
    ),
    array(
        "name" => "Clark Kent",
        "email" => "[email protected]",
    ),
    array(
        "name" => "Harry Potter",
        "email" => "[email protected]",
    )
);
// Access nested value
echo "Peter Parker's Email-id is: " . $contacts[0]["email"];
?>


Xem cấu trúc và giá trị mảng

Bạn có thể xem cấu trúc và giá trị của bất kỳ mảng nào bằng cách sử dụng một trong hai câu lệnh — var_dump() hoặc print_r(). Tuy nhiên, câu lệnh print_r() cung cấp ít thông tin hơn. Xem xét ví dụ sau

Câu lệnh print_r() cho đầu ra sau

Mảng ( [0] => Luân Đôn [1] => Paris [2] => New York )

Đầu ra này hiển thị khóa và giá trị cho từng phần tử trong mảng. Để biết thêm thông tin, hãy sử dụng câu lệnh sau

Câu lệnh var_dump() này cho đầu ra sau

mảng(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }

Đầu ra này hiển thị kiểu dữ liệu của từng phần tử, chẳng hạn như chuỗi 6 ký tự, ngoài khóa và giá trị. Trong chương tiếp theo, bạn sẽ học cách sắp xếp các phần tử mảng

Một mảng được lập chỉ mục lưu trữ từng phần tử mảng với một chỉ mục số. Dưới đây là các ví dụ về việc tạo các mảng được lập chỉ mục

// Define an indexed array $cities = array("New York", "Salt Lake", "Tokyo"); var_dump($cities);

Mảng cũng có thể được tạo thủ công

$cities[0] = "New York"; $cities[1] = "Salt Lake"; $cities[2] = "Tokyo"; var_dump($cities);

Vòng lặp qua các mảng được lập chỉ mục có thể được thực hiện như sau

$cities = array("New York", "Salt Lake", "Tokyo"); $arrlength = count($cities);
for($i = 0; $i < $arrlength; $i++) { echo $cities[$i]; echo "
"; }

Mảng kết hợp

Mảng kết hợp là mảng sử dụng các khóa được đặt tên do người dùng chỉ định

Một mảng kết hợp có thể được tạo bởi

// Define an associative array $ages = array("Mark" => 22, "Jeff" => 32, "Mike" => 28); var_dump($ages);

tương đương với

$ages["Mark"] = "22"; $ages["Jeff"] = "32"; $ages["Mike"] = "28"; var_dump($ages);

Việc lặp qua một mảng kết hợp có thể được thực hiện bằng cách sử dụng vòng lặp foreach

$ages = array("Mark" => 22, "Jeff" => 32, "Mike" => 28);
foreach($ages as $x => $x_value) { echo "Name = " . $x . ", Age = " . $x_value; echo "
"; }

Mảng đa chiều

Mảng nhiều chiều là một mảng trong đó mỗi phần tử cũng có thể là một mảng và mỗi phần tử trong mảng con cũng có thể là một mảng hoặc có một mảng khác bên trong nó, v.v.

Mảng trong PHP phân biệt mảng số và mảng kết hợp với các ví dụ là gì?

Mảng là tập hợp các đối tượng chứa một nhóm biến được lưu dưới cùng một tên . Tất cả các phần tử thuộc cùng một kiểu dữ liệu, tôi. e. chuỗi, số nguyên hoặc danh sách. Các khóa là duy nhất trong trường hợp cả mảng được lập chỉ mục và mảng kết hợp. mảng được lập chỉ mục. Mảng được lập chỉ mục là một mảng có một phím số.

Sự khác biệt giữa mảng kết hợp và mảng là gì?

Kiểu dữ liệu chỉ mục cho một mảng đơn giản phải là một giá trị số nguyên. Loại chỉ mục cho mảng kết hợp có thể là một trong các loại dữ liệu được hỗ trợ . Các giá trị chỉ mục trong một mảng đơn giản phải là một tập hợp các giá trị số nguyên liền kề. Trong một mảng kết hợp, các giá trị chỉ mục có thể thưa thớt.

Hai loại mảng trong PHP là gì?

Trong PHP, có ba loại mảng. .
Mảng được lập chỉ mục - Mảng có chỉ mục số
Mảng kết hợp - Mảng có khóa được đặt tên
Mảng nhiều chiều - Mảng chứa một hoặc nhiều mảng

Mảng kết hợp trong PHP là gì?

Mảng kết hợp - Nó đề cập đến một mảng có chuỗi làm chỉ mục . Thay vì lưu trữ các giá trị phần tử theo thứ tự chỉ mục tuyến tính nghiêm ngặt, điều này sẽ lưu trữ chúng kết hợp với các giá trị chính. Nhiều chỉ số được sử dụng để truy cập các giá trị trong một mảng nhiều chiều, chứa một hoặc nhiều mảng.