Hướng dẫn compare two multidimensional array in php - so sánh hai mảng đa chiều trong php

function multi_diff[$arr1,$arr2]{
  $result = array[];
  foreach [$arr1 as $k=>$v]{
    if[!isset[$arr2[$k]]]{
      $result[$k] = $v;
    } else {
      if[is_array[$v] && is_array[$arr2[$k]]]{
        $diff = multi_diff[$v, $arr2[$k]];
        if[!empty[$diff]]
          $result[$k] = $diff;
      }
    }
  }
  return $result;
}

//example:

var_dump[multi_diff[

array[
  "A"=>array[
    "A1"=>array['A1-0','A1-1','A1-2','A1-3'],
    "A2"=>array['A2-0','A2-1','A2-2','A2-3'],
    "A3"=>array['A3-0','A3-1','A3-2','A3-3']
  ],
  "B"=>array[
    "B1"=>array['B1-0','B1-1','B1-2','B1-3'],
    "B2"=>array['B2-0','B2-1','B2-2','B2-3'],
    "B3"=>array['B3-0','B3-1','B3-2','B3-3']
  ],
  "C"=>array[
    "C1"=>array['C1-0','C1-1','C1-2','C1-3'],
    "C2"=>array['C2-0','C2-1','C2-2','C2-3'],
    "C3"=>array['C3-0','C3-1','C3-2','C3-3']
  ],
  "D"=>array[
    "D1"=>array['D1-0','D1-1','D1-2','D1-3'],
    "D2"=>array['D2-0','D2-1','D2-2','D2-3'],
    "D3"=>array['D3-0','D3-1','D3-2','D3-3']
  ]
],

array[
  "A"=>array[
    "A1"=>array['A1-0','A1-1','A1-2','A1-3'],
    "A2"=>array['A2-0','A2-1','A2-2','A2-3'],
    "A3"=>array['A3-0','A3-1','A3-2']
  ],
  "B"=>array[
    "B1"=>array['B1-0','B1-2','B1-3'],
    "B2"=>array['B2-0','B2-1','B2-2','B2-3'],
    "B3"=>array['B3-0','B3-1','B3-3']
  ],
  "C"=>array[
    "C1"=>array['C1-0','C1-1','C1-2','C1-3'],
    "C3"=>array['C3-0','C3-1']
  ],
  "D"=>array[
    "D1"=>array['D1-0','D1-1','D1-2','D1-3'],
    "D2"=>array['D2-0','D2-1','D2-2','D2-3'],
    "D3"=>array['D3-0','D3-1','D3-2','D3-3']
  ]
]

]];

Yêu cầu. Một mảng để so sánh với

Array3, ...

Không bắt buộc. Nhiều mảng hơn để so sánh với

Chi tiết kỹ thuật

Giá trị trở lại:



Trả về một mảng chứa các mục từ Array1 không có trong bất kỳ mảng nào khác

Array                                                       
[                                                           
    [a] => Green                                            
    [b] => Blue                                             
]

Flowchart:

Phiên bản PHP:

4.3+

Nhiều ví dụ hơn Write a PHP script to create a two-dimensional array [4x4], initialized to 10.
Next: Write a PHP script to combine [using one array for keys and another for its values] the specified two arrays.

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

Mảng liên kết đa chiều trong PHP là gì?

Mảng đa chiều php được sử dụng để lưu trữ một mảng trái ngược với các giá trị không đổi. Mảng liên kết lưu trữ dữ liệu dưới dạng các cặp khóa và giá trị trong đó khóa có thể là một số nguyên hoặc chuỗi. Mảng liên kết đa chiều thường được sử dụng để lưu trữ dữ liệu trong mối quan hệ nhóm.

  1. PHP: Lời khuyên trong ngày
  2. PHP: Làm thế nào để chuyển đổi chuỗi thành boolean?

Các chuỗi luôn đánh giá để boolean true trừ khi chúng có giá trị được coi là "trống" bằng PHP [lấy từ tài liệu để trống]:

$test_mode_mail = $string === 'true'? true: false;

"" [một chuỗi trống];

$test_mode_mail = [$string === 'true'];

"0" [0 dưới dạng chuỗi]

filter_var[$string, FILTER_VALIDATE_BOOLEAN];

Nếu bạn cần đặt boolean dựa trên giá trị văn bản của một chuỗi, thì bạn sẽ cần kiểm tra sự hiện diện hoặc bằng cách khác của giá trị đó.

Chỉnh sửa: Mã trên được dành cho sự rõ ràng của sự hiểu biết. Trong thực tế sử dụng mã sau có thể phù hợp hơn:

So sánh các khóa và giá trị của ba mảng và trả về sự khác biệt:

Thí dụ

So sánh các khóa và giá trị của hai mảng và trả về sự khác biệt: keys and values of two arrays, and return the differences:

"màu đỏ", "b" => "màu xanh lá cây", "c" => "màu xanh", "d" => "màu vàng"]; $ a2 = mảng ["e" => "red", "f" => "màu xanh lá cây", "g" => "blue"];
$a1=array["a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"];
$a2=array["a"=>"red","b"=>"green","c"=>"blue"];

$ result = mảng_diff_assoc [$ a1, $ a2]; print_r [$ result];?>
print_r[$result];
?>

Hãy tự mình thử »

So sánh các khóa và giá trị của ba mảng và trả về sự khác biệt:

"màu đỏ", "b" => "màu xanh lá cây", "c" => "màu xanh", "d" => "màu vàng"]; $ a2 = mảng ["a" => "red", "f" => "green", "g" => "blue"]; $ a3 = mảng ["h" => "red", "b" => "màu xanh lá cây", "g" => "màu xanh"];the keys and values of two [or more] arrays, and returns the differences.

Hàm này so sánh các khóa và giá trị của hai mảng [hoặc nhiều] và trả về một mảng chứa các mục từ Array1 không có trong Array2 hoặc Array3, v.v.

Cú pháp

Array_Diff_assoc [Array1, Array2, Array3 ...]

Giá trị tham số

Tham sốSự mô tả
mảng1Yêu cầu. Mảng để so sánh từ
mảng2Yêu cầu. Một mảng để so sánh với
Array3, ...Không bắt buộc. Nhiều mảng hơn để so sánh với

Chi tiết kỹ thuật

Giá trị trở lại:Phiên bản PHP:
Trả về một mảng chứa các mục từ Array1 không có trong bất kỳ mảng nào khác
4.3+

Nhiều ví dụ hơn

Thí dụ

So sánh các khóa và giá trị của hai mảng và trả về sự khác biệt: keys and values of two arrays, and return the differences:

"màu đỏ", "b" => "màu xanh lá cây", "c" => "màu xanh", "d" => "màu vàng"]; $ a2 = mảng ["e" => "red", "f" => "màu xanh lá cây", "g" => "blue"];
$a1=array["a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"];
$a2=array["e"=>"red","f"=>"green","g"=>"blue"];

$ result = mảng_diff_assoc [$ a1, $ a2]; print_r [$ result];?>
print_r[$result];
?>

Hãy tự mình thử »

Thí dụ

So sánh các khóa và giá trị của hai mảng và trả về sự khác biệt: keys and values of three arrays, and return the differences:

"màu đỏ", "b" => "màu xanh lá cây", "c" => "màu xanh", "d" => "màu vàng"]; $ a2 = mảng ["e" => "red", "f" => "màu xanh lá cây", "g" => "blue"];
$a1=array["a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"];
$a2=array["a"=>"red","f"=>"green","g"=>"blue"];
$a3=array["h"=>"red","b"=>"green","g"=>"blue"];

$ result = mảng_diff_assoc [$ a1, $ a2]; print_r [$ result];?>
print_r[$result];
?>

Hãy tự mình thử »

So sánh các khóa và giá trị của ba mảng và trả về sự khác biệt:


Làm thế nào để bạn so sánh các mảng đa chiều?

So sánh các mảng hai chiều..
Phương thức của ví dụ là Boolean Equal [Final Int [] [] ARR1, Final Int [] [] Arr2]. ....
Phương thức trước tiên kiểm tra xem cả hai mảng đều null và trả về đúng nếu chúng cả hai không và sai khác ..
Sau đó, phương thức kiểm tra xem độ dài của hai mảng có bằng không ..

Làm thế nào để so sánh 2 mảng kết hợp trong PHP?

Hàm mảng_diff_assoc [] so sánh các khóa và giá trị của hai mảng [hoặc nhiều] và trả về sự khác biệt.Hàm này so sánh các khóa và giá trị của hai mảng [hoặc nhiều] và trả về một mảng chứa các mục từ Array1 không có trong Array2 hoặc Array3, v.v.array_diff_assoc[] function compares the keys and values of two [or more] arrays, and returns the differences. This function compares the keys and values of two [or more] arrays, and return an array that contains the entries from array1 that are not present in array2 or array3, etc.

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

Một mảng đa chiều là một mảng chứa một hoặc nhiều mảng.PHP hỗ trợ các mảng đa chiều là hai, ba, bốn, năm hoặc nhiều cấp độ sâu.Tuy nhiên, các mảng sâu hơn ba cấp độ khó có thể quản lý đối với hầu hết mọi người.an array containing one or more arrays. PHP supports 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.

Mảng liên kết đa chiều trong PHP là gì?

Mảng đa chiều php được sử dụng để lưu trữ một mảng trái ngược với các giá trị không đổi.Mảng liên kết lưu trữ dữ liệu dưới dạng các cặp khóa và giá trị trong đó khóa có thể là một số nguyên hoặc chuỗi.Mảng liên kết đa chiều thường được sử dụng để lưu trữ dữ liệu trong mối quan hệ nhóm.used to store an array in contrast to constant values. Associative array stores the data in the form of key and value pairs where the key can be an integer or string. Multidimensional associative array is often used to store data in group relation.

Bài Viết Liên Quan

Chủ Đề