Cách kiểm tra cùng một giá trị trong mảng PHP
Trong bài viết này, chúng ta sẽ xem xét các phương pháp khác nhau để tìm các bản sao trong một mảng. Một số phương pháp này chỉ đếm số lượng phần tử trùng lặp trong khi những phương pháp khác cũng cho chúng ta biết phần tử nào đang lặp lại và một số làm cả hai. Theo đó, bạn có thể chọn cái tốt nhất cho trường hợp sử dụng của mình Show Mục lục
Sử dụng phương thức indexOf()Trong phương pháp này, những gì chúng ta làm là so sánh chỉ mục của tất cả các mục của một mảng với chỉ mục của lần đầu tiên số đó xuất hiện. Nếu chúng không khớp, điều đó có nghĩa là phần tử trùng lặp. Tất cả các phần tử như vậy được trả về trong một mảng riêng biệt bằng cách sử dụng phương thức filter() Chúng ta hãy xem xét việc triển khai điều này bằng JavaScript
Sử dụng phương thức has()Trong cách triển khai ở trên, mảng đầu ra có thể có các phần tử trùng lặp nếu các phần tử đã xuất hiện nhiều hơn hai lần trong một mảng. Để tránh điều này và để chúng tôi đếm số lượng phần tử trùng lặp, chúng tôi có thể sử dụng phương thức use()
Giải pháp trên tìm và trả về các phần tử trùng lặp bằng phương thức has(). Phương pháp này hoạt động hiệu quả hơn phương pháp trước đó vì mỗi giá trị trong Tập hợp phải là duy nhất Sử dụng đối tượng & cặp khóa-giá trịTrong JavaScript, một đối tượng bao gồm các cặp khóa-giá trị trong đó các khóa tương tự như các chỉ mục trong một mảng và là duy nhất. Nếu một người cố gắng thêm một khóa trùng lặp với một giá trị khác, thì giá trị trước đó cho khóa đó sẽ bị ghi đè bởi giá trị mới. Chúng tôi sử dụng khái niệm này để so sánh và tìm các bản sao
Điều này có thể được sử dụng khi bạn lo lắng về những yếu tố chính xác nào trùng lặp Sử dụng chức năng "một số"Trong JavaScript, hàm “some” kiểm tra một điều kiện trên tất cả các phần tử của một mảng và trả về true nếu bất kỳ phần tử mảng nào thỏa mãn điều kiện đó Trong hàm gọi lại đối số, chúng ta lấy phần tử mảng hiện tại làm đối số thứ nhất và chỉ mục của phần tử hiện tại làm đối số thứ hai Sau đó, chúng ta có thể so sánh chỉ mục của phần tử hiện tại với chỉ mục của phần tử đầu tiên có cùng giá trị. Nếu cả hai chỉ số đều giống nhau, điều đó có nghĩa là không có phần tử trùng lặp
Sử dụng phép lặpTrong phương pháp này, chúng ta so sánh từng phần tử của mảng với tất cả các phần tử khác của mảng để kiểm tra xem giá trị của hai phần tử có giống nhau hay không bằng cách sử dụng vòng lặp for lồng nhau Ở đâ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 $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ã
Làm cách nào để kiểm tra xem mảng có chứa cùng giá trị trong PHP không?Hàm in_array() là một hàm có sẵn trong PHP dùng để kiểm tra xem một giá trị đã cho có tồn tại trong một mảng hay không. Nó trả về TRUE nếu tìm thấy giá trị đã cho trong mảng đã cho và FALSE nếu không.
Làm cách nào để kiểm tra giá trị trùng lặp trong mảng trong PHP?Đây là đoạn mã đang hoạt động để kiểm tra xem mảng có giá trị trùng lặp hay không. . $arr = array('Email','Name','Something','Else','Email'); nếu ( đếm( $arr ). == đếm( array_unique( $arr ) ) ) echo "Một số trùng lặp"; |