Làm cách nào để kiểm tra các giá trị mảng giống nhau trong PHP?
Show
xt3mp0r~Đăng ngày 21 tháng 9 năm 2010 xt3mp0r~
Đăng ngày 21 tháng 9 năm 2010 Có cách nào đơn giản để kiểm tra xem tất cả các giá trị trong một mảng có giống nhau với điều kiện if đơn giản không
Cái gì đó như
nếu(. một số mã. ) { //có, tất cả các giá trị đều giống nhau }else{ //không, tất cả đều không giống nhau }
Phiên bản PHP của tôi là 5. 2. 9-2
Bất kỳ trợ giúp sẽ được đánh giá cao. Về cơ bản, tôi muốn kiểm tra xem các giá trị trong một mảng có bằng 1 không Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn xà láchĐăng ngày 21 tháng 9 năm 2010 xà lách
Đăng ngày 21 tháng 9 năm 2010 if (count(array_unique($array)) <= 1) {
Logic là;
Câu cuối cùng của bạn làm mọi thứ khó hiểu, bạn có thực sự muốn kiểm tra xem mảng chỉ chứa 1 (có thể nhiều lần) không? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn xt3mp0r~Đăng ngày 22 tháng 9 năm 2010 xt3mp0r~
Đăng ngày 22 tháng 9 năm 2010 Tất cả các giá trị phải là '1' để vượt qua điều kiện if sự kết hợp giữa số lượng và mảng_unique hoạt động rất tốt Cảm ơn nhiều Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn Cho dù bạn đang kiểm tra sự bằng nhau trên mảng phẳng hay mảng đa chiều (với phím số, phím kết hợp hoặc phím trộn), nếu bạn làm theo những điều này, việc so sánh các mảng trong PHP sẽ khá đơn giản So sánh các mảng bằng cách sử dụng đẳng thức nghiêm ngặt ($a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true 0)Hai mảng (ví dụ, $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true1 và $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true2) hoàn toàn bằng nhau (i. e. $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true3) khi nào
So sánh các mảng bằng cách sử dụng đẳng thức lỏng lẻo ($a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true 4)Hai mảng (ví dụ, $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true1 và $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true2) lỏng lẻo bằng nhau (i. e. $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true7) khi chúng có cùng cặp khóa/giá trị bất kể thứ tự và/hoặc loại của chúng Việc sử dụng đẳng thức lỏng lẻo thường không được khuyến khích, bạn nên luôn cố gắng sử dụng đẳng thức nghiêm ngặt. Điều này có nghĩa là bạn nên đảm bảo kiểu và thứ tự của các phần tử mảng mà bạn đang so sánh giống nhau Ví dụ về so sánh mảngCác ví dụ sau đây cho thấy kết quả so sánh mảng bằng cách sử dụng các đẳng thức nghiêm ngặt và lỏng lẻo Mảng có các cặp khóa/giá trị giống nhau theo cùng thứ tự với các giá trị cùng loại$a = ['a', 'b', 'c']; $b = ['a', 'b', 'c']; // the above is equivalent to: $a = ['a', 'b', 'c']; $b = [0 => 'a', 1 => 'b', 2 => 'c']; var_dump($a == $b); // true var_dump($a === $b); // true $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true Mảng có các cặp khóa/giá trị giống nhau theo thứ tự với các loại khóa khác nhau$a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true0 Từ ví dụ trên, bạn có thể thấy rằng các loại khóa không được so sánh nghiêm ngặt theo một trong hai đẳng thức Mảng không có cặp khóa/giá trị giống nhauTrong các ví dụ sau, hai mảng có khóa khác nhau. Do đó, các cặp khóa/giá trị của hai mảng không bằng nhau trong một trong hai phép so sánh bằng $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true1 $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true2 Mảng không cùng kiểu$a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true3____14 $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true5 Thay vì sử dụng đẳng thức lỏng lẻo, bạn có thể sử dụng một trong các hàm sắp xếp mảng (chẳng hạn như $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; // the above is equivalent to: $a = ['a', 'b', 'c', [ 'foo' => 'bar' ]]; $b = [0 => 'a', 1 => 'b', 2 => 'c', 3 => [ 'foo' => 'bar' ]]; var_dump($a == $b); // true var_dump($a === $b); // true00, v.v. ) để sắp xếp cả hai mảng, sau đó so sánh chúng với đẳng thức nghiêm ngặt Làm cách nào để kiểm tra tất cả các giá trị mảng giống nhau trong PHP?Hàm array_unique() "lấy một mảng đầu vào và trả về một mảng mới không có giá trị trùng lặp. " Không, 1 sẽ được trả về nếu TẤT CẢ giá trị trong mảng giống nhau.
Làm cách nào để kiểm tra xem hai mảng có cùng giá trị PHP không?# So sánh các mảng sử dụng đẳng thức nghiêm ngặt ( === )
. e. $a === $b ) khi. chúng có cùng cặp khóa/giá trị; .
Làm cách nào để khớp giá trị mảng trong PHP?Hàm array_intersect() so sánh giá trị của hai (hoặc nhiều) mảng và trả về kết quả khớp. Hàm này so sánh các 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 có trong mảng2, mảng3, v.v. |