Php hợp nhất mảng kết hợp đa chiều

Nếu bạn muốn nối hai mảng nhiều chiều trong PHP, bạn vẫn nên sử dụng array_merge chứ không phải array_merge_recursive. Bối rối? . Hãy giải thích những gì đang xảy ra

Trước tiên hãy giải thích những gì array_merge_recursive làm, lấy ví dụ hai mảng này

$first = [
    'key' => 'original'
];

$second = [
    'key' => 'override'
];

Sử dụng array_merge_recursive sẽ dẫn đến kết quả như sau

array_merge_recursive($first, $second);

// [
//     'key' => [
//         'original',
//         'override',
//     ],
// ]

Thay vì ghi đè giá trị gốc key, array_merge_recursive đã tạo một mảng, có cả giá trị gốc và giá trị mới trong đó

Mặc dù điều đó có vẻ lạ trong ví dụ đơn giản này, nhưng nó thực sự hữu ích hơn trong trường hợp một trong các giá trị đã là một mảng và bạn muốn hợp nhất một mục khác trong mảng đó, thay vì ghi đè lên nó

$first = [
    'key' => ['original']
];

$second = [
    'key' => 'override'
];

Trong trường hợp này, array_merge_recursive sẽ mang lại kết quả giống như ví dụ đầu tiên. nó lấy giá trị từ mảng

array_merge_recursive($first, $second);

// [
//     'key' => [
//         'original',
//         'override',
//     ],
// ]
2 và nối nó với giá trị trong mảng
array_merge_recursive($first, $second);

// [
//     'key' => [
//         'original',
//         'override',
//     ],
// ]
3, vốn đã là một mảng

array_merge_recursive($first, $second);

// [
//     'key' => [
//         'original',
//         'override',
//     ],
// ]

Vì vậy, nếu bạn muốn hợp nhất các mảng nhiều chiều, bạn chỉ cần sử dụng array_merge, nó có thể xử lý tốt nhiều cấp độ của mảng

$first = [
    'level 1' => [
        'level 2' => 'original'
    ]
];

$second = [
    'level 1' => [
        'level 2' => 'override'
    ]
];

array_merge($first, $second);

// [  
//     'level 1' => [
//         'level 2' => 'override'
//     ]
// ]

Như đã nói, bạn cũng có thể sử dụng toán tử

array_merge_recursive($first, $second);

// [
//     'key' => [
//         'original',
//         'override',
//     ],
// ]
5 để hợp nhất các mảng nhiều chiều, nhưng nó sẽ hoạt động hơi khác so với array_merge

Nhận thấy một tpyo? . Nếu bạn muốn cập nhật những gì đang diễn ra trên blog này, bạn có thể theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi. Đăng ký email

Hộp đại diện cho chính mảng trong khi khoảng trống chứa sôcôla đại diện cho các giá trị được lưu trữ trong mảng

Sơ đồ dưới đây minh họa cú pháp trên

Trong hướng dẫn này, bạn sẽ học-

Mảng số

Mảng số sử dụng số làm khóa truy cập

Khóa truy cập là tham chiếu đến khe bộ nhớ trong biến mảng

Access key được sử dụng bất cứ khi nào chúng ta muốn đọc hoặc gán giá trị mới cho một phần tử mảng

Dưới đây là cú pháp tạo mảng số trong php

Ví dụ về mảng

________số 8_______

Hoặc là

 value, …);
?>

NƠI ĐÂY,

  • “$variable_name…” là tên của biến
  • “[n]” là số chỉ mục truy cập của phần tử
  • “giá trị” là giá trị được gán cho phần tử mảng

Bây giờ hãy xem một ví dụ về một mảng số

Giả sử chúng ta có 5 bộ phim mà chúng ta muốn lưu trữ trong các biến mảng

Chúng ta có thể sử dụng ví dụ hiển thị bên dưới để làm điều đó

Nơi đây,

Php hợp nhất mảng kết hợp đa chiều

Mỗi bộ phim được cung cấp một số chỉ mục được sử dụng để truy xuất hoặc sửa đổi giá trị của nó. Quan sát đoạn mã sau-

đầu ra

Once upon a time in China Eastern Condors

Như bạn có thể thấy từ các ví dụ trên, làm việc với mảng trong PHP khi xử lý nhiều giá trị có cùng bản chất là rất dễ dàng và linh hoạt

Ngoài ra, các biến mảng trên cũng có thể được tạo bằng mã sau

 "Shaolin Monk",
               1 => "Drunken Master",
               2 => "American Ninja",
               3 => "Once upon a time in China",
               4 =>"Replacement Killers" );
echo $movie[4];
?>

đầu ra

Replacement Killers

Mảng kết hợp PHP

Mảng kết hợp khác với mảng số theo nghĩa là mảng kết hợp sử dụng tên mô tả cho khóa id

Dưới đây là cú pháp tạo mảng kết hợp trong php

 value);
?>

NƠI ĐÂY,

  • “$variable_name…” là tên của biến
  • “[‘key_name’]” là số chỉ mục truy cập của phần tử
  • “giá trị” là giá trị được gán cho phần tử mảng

Giả sử rằng chúng tôi có một nhóm người và chúng tôi muốn chỉ định giới tính của từng người dựa trên tên của họ

Chúng ta có thể sử dụng một mảng kết hợp để làm điều đó. Đoạn mã dưới đây giúp chúng ta làm điều đó

 "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons); 
echo ""; 
echo "Mary is a " . $persons["Mary"];
?>

NƠI ĐÂY,

Php hợp nhất mảng kết hợp đa chiều

đầu ra

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Mảng kết hợp cũng rất hữu ích khi truy xuất dữ liệu từ cơ sở dữ liệu

Tên trường được sử dụng làm khóa id

Mảng đa chiều trong PHP

Đây là những mảng chứa các mảng lồng nhau khác

Ưu điểm của mảng nhiều chiều là chúng cho phép chúng ta nhóm các dữ liệu có liên quan lại với nhau

Bây giờ chúng ta hãy xem một ví dụ thực tế cài đặt một mảng nhiều chiều php

Bảng bên dưới hiển thị danh sách phim theo thể loại

Tiêu đề phimThể loạiPink PantherPhim hàiJohn EnglishPhim hàiDie HardHành độngExpendablesHành độngChúa tể của những chiếc nhẫnSử thiRomeo và JulietLãng mạnSee no evil hear no evilHài

Thông tin trên có thể được biểu diễn dưới dạng mảng nhiều chiều. Đoạn mã dưới đây cho thấy việc thực hiện

 value, …);
?>
0

NƠI ĐÂY,

Php hợp nhất mảng kết hợp đa chiều

đầu ra

 value, …);
?>
1

Một cách khác để xác định cùng một mảng như sau

 value, …);
?>
2

đầu ra

 value, …);
?>
3

Ghi chú. mảng số phim đã được lồng vào bên trong mảng kết hợp danh mục

Mảng PHP. nhà điều hành

Toán tửTênMô tảCách thực hiệnOutputx + yUnionKết hợp các phần tử từ cả hai mảng
 value, …);
?>
4Array([id] => 1 [value] => 10)X == yEqualSo sánh hai mảng nếu chúng bằng nhau và trả về true nếu có.
 value, …);
?>
5True hoặc 1X === yGiống nhauSo sánh cả giá trị và kiểu dữ liệu
 value, …);
?>
6False hoặc 0X. = y, x <> y Không bằng
 value, …);
?>
7 Sai hoặc 0X. == yKhông giống nhau_______9_______8True hoặc 1

Hàm mảng PHP

chức năng đếm

Hàm đếm dùng để đếm số phần tử mà một mảng php chứa. Đoạn mã dưới đây cho thấy việc thực hiện

 value, …);
?>
9

đầu ra

0

hàm is_array

Hàm is_array được sử dụng để xác định xem một biến có phải là một mảng hay không. Bây giờ hãy xem một ví dụ triển khai các hàm is_array

1

đầu ra

2

Loại

Hàm này được sử dụng để sắp xếp mảng bằng cách sử dụng các giá trị. Ví dụ sau minh họa việc sử dụng nó

Làm cách nào để kết hợp hai mảng đa chiều trong PHP?

Hàm array_merge_recursive() hợp nhất một hoặc nhiều mảng thành một mảng . Sự khác biệt giữa hàm này và hàm array_merge() là khi hai hoặc nhiều phần tử mảng có cùng khóa. Thay vì ghi đè các khóa, hàm array_merge_recursive() tạo giá trị dưới dạng một mảng.

Làm cách nào để hợp nhất mảng kết hợp trong PHP?

Hàm array_merge() trong PHP .
Hợp nhất hai mảng thành một mảng. $a1=mảng("đỏ","xanh"); .
Hợp nhất hai mảng kết hợp thành một mảng. $a1=array("a"=>"đỏ","b"=>"xanh"); .
Chỉ sử dụng một tham số mảng với các khóa số nguyên. $a=array(3=>"đỏ",4=>"xanh");

Làm cách nào để lấy giá trị từ mảng kết hợp đa chiều trong PHP?

Truy xuất giá trị. Chúng ta có thể lấy giá trị của mảng nhiều chiều bằng phương pháp sau. .
Sử dụng phím. Chúng ta có thể sử dụng khóa của mảng kết hợp để lấy trực tiếp giá trị dữ liệu. .
Sử dụng vòng lặp foreach. Chúng ta có thể sử dụng vòng lặp foreach để truy xuất giá trị của từng khóa được liên kết bên trong mảng kết hợp đa chiều