PHP so sánh các mảng khóa và giá trị. Trong hướng dẫn này, bạn sẽ học cách PHP so sánh hai hoặc nhiều khóa và giá trị của mảng và tìm sự khác biệt giữa hai hoặc nhiều mảng bằng cách sử dụng hàm array_diff_assoc() của PHP Show
Ngoài ra, bạn sẽ tìm hiểu về hàm PHP array_diff_assoc(), định nghĩa, cú pháp, tham số và xem các ví dụ khác nhau PHP So sánh hai hoặc nhiều mảng Keys và ValuesMảng PHP_diff_assoc()Sự định nghĩa. Hàm array_diff_assoc() của PHP dựng sẵn. Về cơ bản, Điều này có thể được sử dụng để lấy hoặc tính toán sự khác biệt giữa một hoặc nhiều mảng trong PHP. Hàm array_diff_assoc() trong PHP so sánh các khóa và giá trị giữa một hoặc nhiều mảng và trả về sự khác biệt giữa chúng Ghi chú. - Hàm array_diff_assoc() của PHP so sánh các khóa và giá trị của hai hoặc nhiều mảng và nó sẽ trả về một mảng chứa các mục nhập từ mảng_thứ nhất không có trong mảng_thứ hai hoặc mảng_thứ ba và mảng_n, v.v. cú phápCú pháp của hàm PHP array_diff_assoc() là array_diff_assoc($array_first, $array_second, $array_third, …, $array_n) Các tham số của hàm array_diff_assoc()Tham sốMô tảmảng đầu tiênĐây là mảng đầu tiên của hàm này và bắt buộc phải có. Nó là một mảng để so sánh fromarray secondĐây là mảng thứ hai của hàm này và nó cũng được yêu cầu. Nó là một mảng được so sánh với mảng đầu tiên. Đây là mảng thứ n và nó là tùy chọn. Nó là một mảng được so sánh với mảng đầu tiênVí dụ 1Bây giờ, chúng ta sẽ lấy ví dụ đầu tiên với PHP array_diff_assoc() để so sánh ba mảng khóa và giá trị trong PHP. Hãy xem bên dưới <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?> Đầu ra của đoạn mã trên là Array ( [3] => CODEIGNITER [4] => WORDPRESS [5] => JOOMLA ) Ví dụ – 2Hãy lấy ví dụ thứ hai, để so sánh hai mảng khóa và giá trị trong PHP. Và tìm sự khác biệt giữa chúng Hàm này so sánh các khóa và giá trị của hai (hoặc nhiều) mảng và trả về một mảng chứa các mục từ mảng1 nhưng không có trong mảng2 hoặc mảng3, v.v. Hàm này khác với hàm array_diff() vì array_diff() chỉ sử dụng các giá trị để so sánh với các mảng khác trong khi hàm array_diff_assoc() sử dụng các khóa và giá trị trong khi so sánh với các mảng khác cú pháparray array_diff_assoc( array $array1, array $array2 [, array $array3...] ); Thông sốSr. STT Thông số và Mô tả 1mảng1 (Bắt buộc) Nó là một mảng để so sánh từ 2mảng2 (Bắt buộc) Nó là một mảng được so sánh với mảng đầu tiên 3mảng3 (Tùy chọn) Nó là một mảng được so sánh với mảng đầu tiên Giá trị trả vềHàm array_diff_assoc() trả về một mảng chứa tất cả các giá trị từ mảng1 không có trong bất kỳ mảng nào khác có cùng khóa Phiên bản PHPChức năng này lần đầu tiên được giới thiệu trong PHP Phiên bản 4. 3. 0 Ví dụHãy thử ví dụ sau. Ở đây "a" => "orange" và "c"=>"banana" có trong cả hai mảng, vì vậy nó không có sẵn trong kết quả − "orange", "b"=>"mango", "c"=>"banana"); $input2 = array( "a"=>"orange", "b"=>"apple", "c"=>"banana"); print_r(array_diff_assoc($input1, $input2)); ?> Điều này sẽ tạo ra kết quả sau - Array ( [b] => mango ) Ví dụỞ đây cả hai mảng đều có các khóa khác nhau và các giá trị tương ứng cho tất cả các cặp, ví dụ: "a"=>"orange" không có trong mảng thứ hai, tương tự các cặp giá trị khóa khác không có trong mảng thứ hai nên chúng sẽ có trong mảng thứ hai "orange", "b"=>"mango", "c"=>"banana"); $input2 = array( "a"=>"banana", "b"=>"apple", "c"=>"orange"); print_r(array_diff_assoc($input1, $input2)); ?> Điều này sẽ tạo ra kết quả sau - Array ( [a] => orange [b] => mango [c] => banana ) Ví dụVí dụ này làm rõ rằng hai giá trị từ cặp khóa => giá trị chỉ được coi là bằng nhau nếu (chuỗi) $elem1 === (chuỗi) $elem2. - Hàm array_intersect_key() tạo một mảng chứa các khóa và giá trị của mảng đầu tiên có các khóa PHP array_intersect_keyParray_intersect_key() là một hàm tích hợp sẵn giúp so sánh các khóa của hai (hoặc nhiều) mảng và trả về kết quả khớp. Hàm so sánh các khóa của hai hoặc nhiều mảng và trả về mảng chứa các mục từ mảng 1 có trong mảng 2, mảng 3, v.v. Array_intersect_key() trong PHP được sử dụng để tính giao điểm của hai hoặc nhiều mảng. Hàm này khác với array_intersect() và array_intersect_assoc() ở chỗ nó sử dụng các khóa để so sánh và trả về các phần tử khóa phù hợp. The array_intersect_key() trả về một mảng chứa tất cả các mục của mảng 1, có các khóa trong tất cả các đối số. cú phápXem cú pháp sau ________số 8Thông sốTham số array1 là bắt buộc và mảng đầu tiên là mảng mà các mảng khác sẽ được so sánh với Tham số array2 là bắt buộc và một mảng sẽ được so sánh với mảng đầu tiên Mảng 3 là tùy chọn và mảng này sẽ được so sánh với mảng đầu tiên So sánh các khóa của hai mảng được lập chỉ mụcxem mã <?php $a1 = array("eleven", "dustin", "will", "nancy"); $a2 = array("mike", "lucas", "steve"); $result = array_intersect_key($a1, $a2); print_r($result); Xem đầu ra <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?>0 Chúng tôi nhận được ba mục vì mảng $a1 và $a2 có cùng chỉ số 0, 1, 2. Vì vậy, nó sẽ trả về ba mục đầu tiên vì ba chỉ mục của $a1 khớp với $a2 So sánh các khóa của ba mảngXem đoạn mã sau <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?>1 Xem đầu ra sau <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?>0 So sánh các khóa Mảng liên kếtXem đoạn mã sau <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?>3 Xem đầu ra <?php $arr1 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"CODEIGNITER", "4"=>"WORDPRESS", "5"=>"JOOMLA"); $arr2 = array("1"=>"PHP", "2"=>"LARAVEL", "3"=>"C#", "4"=>"C++"); $arr3 = array("1"=>"PHP", "2"=>"LARAVEL"); print_r(array_diff_assoc($arr1, $arr2, $arr3)); ?>4 Trong đoạn mã trên, mười một là khóa duy nhất trong cả ba mảng, cho kết quả là mười một Nếu không có khóa mười một trong một mảng, thì một mảng trống sẽ được trả về Đó là nó cho hướng dẫn này Bài viết đề xuấtPHP array_fill_keys Mảng PHP_udiff PHP mảng_reduce PHP array_flip PHP array_walk Bài viết trước Parray_intersect. Hướng dẫn đầy đủ Bài viết tiếp theo Parray_fill_keys của PHP. Hướng dẫn đầy đủ kranal https. //appdividend. com/ Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end Làm cách nào để khớp khóa mảng trong PHP?Hàm array_intersect_key() so sánh khóa của hai (hoặc nhiều) mảng và trả về giá trị khớp. Hàm này so sánh các khóa của hai hoặc nhiều mảng và trả về một mảng chứa các mục từ mảng1 có trong mảng2, mảng3, v.v.
Làm cách nào để kiểm tra xem khóa mảng có tồn tại trong PHP không?Hàm PHP array_key_exists()
.
Làm cách nào để so sánh các phần tử mảng với chuỗi trong PHP?Nếu bạn muốn kiểm tra xem một phần cụ thể của Chuỗi có nằm trong mảng hay không, bạn sẽ cần phải sử dụng substr() để tách phần đó của chuỗi rồi sử dụng in_array( . .
Một mảng PHP có thể có các khóa trùng lặp không?Kiểm tra mã. Nhân đôi khóa mảng
. Nếu nhiều phần tử trong khai báo mảng sử dụng cùng một khóa thì chỉ phần tử cuối cùng sẽ được sử dụng và tất cả các phần tử khác sẽ bị ghi đè. Reports duplicate keys in array declarations. If multiple elements in the array declaration use the same key, only the last one will be used, and all others will be overwritten. |