Nhận các giá trị trùng lặp trong mảng PHP
Ở đây chúng ta sẽ học cách lọc các giá trị trùng lặp bằng cách lưu trữ các phần tử mảng đã cho dưới dạng khóa mà không cần sử dụng hàm sẵn có của PHP. Hãy tìm hiểu cách thực hiện với mã ví dụ sau Show
$givenArray = array(2,5,2,10,4,5,8,16); $uniqueArry = array(); foreach($givenArray as $val) { $uniqueArry[$val] = $val; } print_r($uniqueArry); đầu ra Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 ) giải thích mã
Phương thức array_unique() được sử dụng để loại bỏ các giá trị lặp lại hoặc trùng lặp khỏi mảng và trả về một mảng Tốt hơn nên sử dụng phương pháp này trên mảng nếu có khả năng các giá trị giống nhau hoặc mã sau này trong chương trình phụ thuộc vào nó chẳng hạn – chọn bản ghi dựa trên id và hiển thị chúng trên màn hình Trong hướng dẫn này, tôi chỉ cho bạn cách xóa các giá trị trùng lặp khỏi –
nội dung1. Xóa giá trị trùng lặp khỏi Mảng được lập chỉ mụcXác định một mảng Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )7 nơi tôi cũng đã thêm một số số trùng lặp Truyền mảng trong phương thức Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )8 để loại bỏ các giá trị trùng lặp Ví dụ "; print_r($num_arr); echo ""; echo "After remove duplicate"; echo " "; print_r($num_unique); echo ""; đầu ra Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 ) 2. Xóa giá trị trùng lặp khỏi Mảng kết hợpXác định một mảng kết hợp Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )9 với các khóa tên và tuổi Bằng cách gọi phương thức Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )8, nó sẽ xóa các chỉ mục có giá trị khóa tên và tuổi phổ biến
Ví dụ "Yogesh Singh","age"=>24); $student_arr[] = array("name" => "Sonarika Bhadoria","age"=>24); $student_arr[] = array("name" => "Anil Singh","age" => 23); $student_arr[] = array("name" => "Yogesh Singh","age" => 24); $student_arr1 = array_unique($student_arr,SORT_REGULAR); echo ""; print_r($student_arr); echo ""; echo "After remove duplicate"; echo ""; print_r($student_arr1); echo ""; đầu ra Array ( [0] => Array ( [name] => Yogesh Singh [age] => 24 ) [1] => Array ( [name] => Sonarika Bhadoria [age] => 24 ) [2] => Array ( [name] => Anil Singh [age] => 23 ) [3] => Array ( [name] => Yogesh Singh [age] => 24 ) ) After remove duplicate Array ( [0] => Array ( [name] => Yogesh Singh [age] => 24 ) [1] => Array ( [name] => Sonarika Bhadoria [age] => 24 ) [2] => Array ( [name] => Anil Singh [age] => 23 ) ) 3. Xóa theo khóa khỏi Mảng liên kếtXác định một mảng kết hợp Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )9 Tạo hàm Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )3 lấy một mảng và tên khóa để loại bỏ các chỉ mục trùng lặp Trong chức năng này, lặp trên Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )4 và kiểm tra xem Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )5 có được đặt trên Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )6 hay không. Nếu không được đặt thì chỉ định Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )7 trong Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )8 Lập chỉ mục lại Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )6 với array_values() và trả về Ví dụ Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )4 đầu ra Array ( [2] => 2 [5] => 5 [10] => 10 [4] => 4 [8] => 8 [16] => 16 )5 4. Kết luậnTruyền mảng của bạn vào phương thức array_unique() để xóa các giá trị phổ biến mà nó hoạt động với cả mảng được lập chỉ mục và mảng kết hợp Nếu bạn muốn xóa chỉ mục mảng theo tên khóa trong liên kết thì bạn có thể sử dụng hàm Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 1 [4] => 6 [5] => 1 [6] => 23 [7] => 2 ) After remove duplicate Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 6 [6] => 23 )3 đã tạo ở trên và tùy chỉnh nó theo sở thích của bạn Làm cách nào để kiểm tra các giá trị trùng lặp trong mảng PHP?Hàm array_unique() loại bỏ các giá trị trùng lặp khỏi một mảng . Nếu hai hoặc nhiều giá trị mảng giống nhau, thì giá trị đầu tiên sẽ được giữ lại và giá trị còn lại sẽ bị xóa. Ghi chú. Mảng được trả về sẽ giữ loại khóa của mục mảng đầu tiên.
Làm cách nào để tìm bản sao trong PHP?Một bản sao đối tượng được tạo bằng cách sử dụng từ khóa clone (từ khóa này gọi phương thức __clone() của đối tượng nếu có thể). $copy_of_object = bản sao $object; . Bất kỳ thuộc tính nào là tham chiếu đến các biến khác sẽ vẫn là tham chiếu.
Làm cách nào để tìm giá trị trùng lặp trong mảng kết hợp PHP?I sử dụng array_column và array_count_values để biết chúng xuất hiện bao nhiêu lần trong mảng, sau đó array_diff xóa các giá trị duy nhất . Tôi lặp lại các bản sao và tìm giá tối đa được liên kết với bản sao và lưu chúng vào một mảng kết hợp.
Array_diff_assoc trong PHP là gì?Hàm array_diff_assoc() so sánh khóa và giá trị của hai (hoặc nhiều) mảng 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 (hoặc nhiều) mảng và trả về một mảng chứa các mục từ mảng1 không có trong mảng2 hoặc mảng3, v.v. |