Hướng dẫn php check value in array of array - php kiểm tra giá trị trong mảng của mảng

Một giải pháp chung sẽ là:

function deep_in_array($needle, $haystack) {
    if(in_array($needle, $haystack)) {
        return true;
    }
    foreach($haystack as $element) {
        if(is_array($element) && deep_in_array($needle, $element))
            return true;
    }
    return false;
}

Lý do tại sao tôi chọn sử dụng in_array và một vòng lặp là: Trước khi tôi kiểm tra mức độ sâu hơn của cấu trúc mảng, tôi chắc chắn rằng giá trị tìm kiếm không ở cấp hiện tại. Bằng cách này, tôi hy vọng mã sẽ nhanh hơn so với thực hiện một số loại phương thức tìm kiếm chiều sâu đầu tiên.and a loop is: Before I examine deeper levels of the array structure, I make sure, that the searched value is not in the current level. This way, I hope the code to be faster than doing some kind of depth-first search method.


Tất nhiên nếu mảng của bạn luôn là 2 chiều và bạn chỉ muốn tìm kiếm trong loại mảng này, thì điều này nhanh hơn:

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}

(Php 4, Php 5, Php 7, Php 8)

in_array - kiểm tra xem giá trị có tồn tại trong một mảng khôngChecks if a value exists in an array

Sự mô tả

in_array (hỗn hợp $needle, mảng $haystack, bool $strict = false): bool(mixed $needle, array $haystack, bool $strict = false): bool

Thông số

needle

Giá trị tìm kiếm.

Ghi chú::

Nếu needle là một chuỗi, so sánh được thực hiện theo cách nhạy cảm trường hợp.

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
1

Mảng.

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
2

Nếu tham số thứ ba

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
2 được đặt thành
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4 thì hàm in_array () cũng sẽ kiểm tra các loại của needle trong
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
1.
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4
then the in_array() function will also check the types of the needle in the
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
1.

Ghi chú::

Nếu needle là một chuỗi, so sánh được thực hiện theo cách nhạy cảm trường hợp.

function in_2d_array($needle, $haystack) { foreach($haystack as $element) { if(in_array($needle, $element)) return true; } return false; } 1

Mảng.

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4 if needle is found in the array, false otherwise.

function in_2d_array($needle, $haystack) { foreach($haystack as $element) { if(in_array($needle, $element)) return true; } return false; } 2

Nếu tham số thứ ba

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
2 được đặt thành
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4 thì hàm in_array () cũng sẽ kiểm tra các loại của needle trong
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
1.in_array() example

1.13 found with strict check
4

Trước Php 8.0.0,

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
7 needle sẽ khớp với giá trị mảng là
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
9 ở chế độ không nghiêm ngặt và ngược lại. Điều đó có thể dẫn đến kết quả không mong muốn. Các trường hợp cạnh tương tự tồn tại cho các loại khác, là tốt. Nếu không hoàn toàn chắc chắn về các loại giá trị liên quan, luôn luôn sử dụng cờ
function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
2 để tránh hành vi bất ngờ.in_array() is case-sensitive, so the program above will display:

Trả về giá trịin_array() with strict example

1.13 found with strict check
5

1.13 found with strict check
6

1.13 found with strict check
7

Trả về

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4 Nếu needle được tìm thấy trong mảng, false nếu không.

1.13 found with strict check

Ví dụin_array() with an array as needle

1.13 found with strict check
8

1.13 found with strict check
6

  'ph' was found
  'o' was found
0

Trả về

function in_2d_array($needle, $haystack) {
    foreach($haystack as $element) {
        if(in_array($needle, $element))
            return true;
    }
    return false;
}
4 Nếu needle được tìm thấy trong mảng, false nếu không.

  'ph' was found
  'o' was found

Ví dụ

  • Ví dụ #1 in_array () ví dụ
  • Điều kiện thứ hai không thành công vì in_array () là nhạy cảm trường hợp, do đó chương trình trên sẽ hiển thị:
  • Ví dụ #2 in_array () với ví dụ nghiêm ngặt

Ví dụ trên sẽ xuất ra:

Ví dụ #3 in_array () với một mảng làm kim

  'ph' was found
  'o' was found
1

  'ph' was found
  'o' was found
2

  'ph' was found
  'o' was found
3

  'ph' was found
  'o' was found
4

  'ph' was found
  'o' was found
5

Xem thêm

Array_Search () - Tìm kiếm mảng cho một giá trị đã cho và trả về khóa tương ứng đầu tiên nếu thành công

  'ph' was found
  'o' was found
6

  'ph' was found
  'o' was found
7

  'ph' was found
  'o' was found
8

  'ph' was found
  'o' was found
9

ISSET () - Xác định xem một biến được khai báo và khác với NULL

Array_Search () - Tìm kiếm mảng cho một giá trị đã cho và trả về khóa tương ứng đầu tiên nếu thành công

in_array0

  'ph' was found
  'o' was found
7

in_array2

in_array3

Làm thế nào để bạn kiểm tra xem một mảng có chứa giá trị trong PHP không?

Hàm in_array () là một hàm sẵn có trong PHP được sử dụng để kiểm tra xem một giá trị nhất định có tồn tại trong một mảng hay không. Nó trả về đúng nếu giá trị đã cho được tìm thấy trong mảng đã cho và sai.in_array() function is an inbuilt function in PHP that is used to check whether a given value exists in an array or not. It returns TRUE if the given value is found in the given array, and FALSE otherwise.

Làm thế nào để bạn kiểm tra xem một giá trị tồn tại trong một mảng?

Cách đơn giản và nhanh nhất để kiểm tra xem một mục có mặt trong một mảng không phải là bằng cách sử dụng phương thức mảng.indexof (). Phương thức này tìm kiếm mảng cho giá trị đã cho và trả về chỉ mục của nó. Nếu không tìm thấy mục nào, nó sẽ trả về -1.Array. indexOf() method. This method searches the array for the given value and returns its index. If no item is found, it returns -1.

Làm thế nào có thể kiểm tra nhiều giá trị trong mảng trong PHP?

Php kiểm tra xem có bất kỳ giá trị nào trong mảng không..
chức năng in_array_any ($ kim, $ Haystack) {.
trở về !trống (Array_Intersect ($ kim, $ Haystack)) ;.
echo in_array_any ([3,9], [5,8,3,1,2]);// Đúng, vì 3 có mặt ..
echo in_array_any ([4,9], [5,8,3,1,2]);// Sai, không có 4 và 9 có mặt ..

Mảng trong mảng trong PHP có phải là php không?

Trong PHP, có ba loại mảng: mảng được lập chỉ mục - mảng có chỉ mục số.Mảng liên kết - Mảng với các khóa có tên.Mảng đa chiều - Mảng chứa một hoặc nhiều mảng.there are three types of arrays: Indexed arrays - Arrays with a numeric index. Associative arrays - Arrays with named keys. Multidimensional arrays - Arrays containing one or more arrays.