xt3mp0r~
Đăng ngày 21 tháng 9 năm 2010
xt3mp0r~
- Các thành viên
- 21
- Chia sẻ
Đă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ác
xà lách
Đăng ngày 21 tháng 9 năm 2010
xà lách
- cựu nhân viên
- 1. 8k
- Địa điểm. Edinburg, Scotland
- Chia sẻ
Đăng ngày 21 tháng 9 năm 2010
if [count[array_unique[$array]] '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]; // true
1 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]; // true
2] 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]; // true
3] khi nào
- chúng có cùng cặp khóa/giá trị;
- khóa/giá trị theo cùng một thứ tự;
- các giá trị thuộc cùng một loại
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ảng
Cá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 nhau
Trong 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