Hướng dẫn check if key exists in multidimensional array php - kiểm tra xem khóa có tồn tại trong php mảng đa chiều hay không

Đây là một giải pháp một dòng:

echo strpos(json_encode($array), $key) > 0 ? "found" : "not found";

Điều này chuyển đổi mảng thành một chuỗi chứa tương đương JSON, sau đó nó sử dụng chuỗi đó làm đối số HayStack của hàm strpos () và nó sử dụng phím $ làm đối số kim (phím $ là giá trị để tìm trong chuỗi JSON).

Có thể hữu ích khi làm điều này để xem chuỗi được chuyển đổi: echo json_encode($array);

Hãy chắc chắn gửi lại đối số kim trong các trích dẫn đơn sau đó trích dẫn gấp đôi vì phần tên của cặp tên/giá trị trong chuỗi JSON sẽ xuất hiện với các trích dẫn kép xung quanh nó. Chẳng hạn, nếu tìm kiếm 22 trong mảng bên dưới thì $key = '"22"' sẽ cho kết quả chính xác không tìm thấy trong mảng này:not found in this array:

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );

Tuy nhiên, nếu các trích dẫn đơn bị bỏ lại, như trong $key = "22" thì kết quả tìm thấy không chính xác sẽ kết quả cho mảng ở trên.found will result for the array above.

EDIT: Một cải tiến hơn nữa sẽ là tìm kiếm $key = '"22":'; chỉ trong khi có giá trị "22" tồn tại trong mảng. I E. 27 => "22" Ngoài ra, phương pháp này không phải là chống đạn. Tìm thấy không chính xác có thể dẫn đến nếu bất kỳ giá trị nào của mảng chứa chuỗi '"22":' A further improvement would be to search for $key = '"22":'; just incase a value of "22" exists in the array. ie. 27 => "22" In addition, this approach is not bullet proof. An incorrect found could result if any of the array's values contain the string '"22":'

(Php 4> = 4.0.7, Php 5, Php 7, Php 8)

Array_Key_Exists - Kiểm tra xem phím hoặc chỉ mục đã cho có tồn tại trong mảng khôngChecks if the given key or index exists in the array

Sự mô tả

mảng_key_exists (chuỗi | int $key, mảng

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
0): bool(string|int $key, array
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
0
): bool

Thông số

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
1

Giá trị để kiểm tra.

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
2

Một mảng có các phím để kiểm tra.

Trả về giá trị

Trả về

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
3 khi thành công hoặc
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
4 về thất bại.
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
3
on success or
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
4
on failure.

Ghi chú::

Array_Key_Exists () sẽ chỉ tìm kiếm các khóa trong chiều đầu tiên. Các phím lồng nhau trong các mảng đa chiều sẽ không được tìm thấy. will search for the keys in the first dimension only. Nested keys in multidimensional arrays will not be found.

Ví dụ

Ví dụ #1 Array_Key_Exists () Ví dụarray_key_exists() example

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
5

Ví dụ #2 mảng_key_exists () vs isset ()array_key_exists() vs isset()

ISSET () không trả về

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
3 cho các khóa mảng tương ứng với giá trị
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
7, trong khi Array_Key_Exists (). does not return
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
3
for array keys that correspond to a
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
7
value, while array_key_exists() does.

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
8

Ghi chú

Ghi chú::

Array_Key_Exists () sẽ chỉ tìm kiếm các khóa trong chiều đầu tiên. Các phím lồng nhau trong các mảng đa chiều sẽ không được tìm thấy.array_key_exists() will also return

$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
3 if
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
1 is a property defined within an object given as
$array =
Array ( 
        21 => Array ( ), 
        24 => 
        Array ( 
            522 => Array ( ),
            25 =>
                Array ( 
                26 => Array ( ) 
            )
        )
    );
2. This behaviour is deprecated as of PHP 7.4.0, and removed as of PHP 8.0.0.

Ví dụproperty_exists() should be used.

Ví dụ #1 Array_Key_Exists () Ví dụ

  • Ví dụ #2 mảng_key_exists () vs isset ()
  • ISSET () không trả về
    $array =
    Array ( 
            21 => Array ( ), 
            24 => 
            Array ( 
                522 => Array ( ),
                25 =>
                    Array ( 
                    26 => Array ( ) 
                )
            )
        );
    
    3 cho các khóa mảng tương ứng với giá trị
    $array =
    Array ( 
            21 => Array ( ), 
            24 => 
            Array ( 
                522 => Array ( ),
                25 =>
                    Array ( 
                    26 => Array ( ) 
                )
            )
        );
    
    7, trong khi Array_Key_Exists ().
  • Ghi chú
  • Vì lý do tương thích ngược, Array_Key_Exists () cũng sẽ trả về
    $array =
    Array ( 
            21 => Array ( ), 
            24 => 
            Array ( 
                522 => Array ( ),
                25 =>
                    Array ( 
                    26 => Array ( ) 
                )
            )
        );
    
    3 nếu
    $array =
    Array ( 
            21 => Array ( ), 
            24 => 
            Array ( 
                522 => Array ( ),
                25 =>
                    Array ( 
                    26 => Array ( ) 
                )
            )
        );
    
    1 là một thuộc tính được xác định trong một đối tượng được đưa ra là
    $array =
    Array ( 
            21 => Array ( ), 
            24 => 
            Array ( 
                522 => Array ( ),
                25 =>
                    Array ( 
                    26 => Array ( ) 
                )
            )
        );
    
    2. Hành vi này không được chấp nhận kể từ Php 7.4.0 và bị loại bỏ là Php 8.0.0.

Để kiểm tra xem một thuộc tính có tồn tại trong một đối tượng hay không, nên sử dụng property_exists ().

Xem thêm

echo json_encode($array);2

echo json_encode($array);3

echo json_encode($array);4

echo json_encode($array);5

Làm thế nào để bạn kiểm tra xem một khóa có tồn tại trong một mảng PHP không?

Hàm ARRAY_KEY_EXISTS () PHP ARRAYarray_key_exists() Function The array_key_exists() function checks an array for a specified key, and returns true if the key exists and false if the key does not exist.

Hàm Array_flip trong PHP là gì?

Chức năng tích hợp của PHP này được sử dụng để trao đổi các phần tử trong một mảng, tức là, trao đổi tất cả các khóa với các giá trị liên quan của chúng trong một mảng và ngược lại.Chúng ta phải nhớ rằng các giá trị của mảng cần phải là các khóa hợp lệ, tức là chúng cần phải là số nguyên hoặc chuỗi.used to exchange elements within an array, i.e., exchange all keys with their associated values in an array and vice-versa. We must remember that the values of the array need to be valid keys, i.e. they need to be either integer or string.

Làm thế nào để bạn kiểm tra xem một khóa có tồn tại trong một mảng javascript không?

Sử dụng hàm HasownProperty () Hàm HasownProperty () sẽ kiểm tra sự tồn tại của khóa trong đối tượng đã cho và trả về đúng nếu khóa có mặt nếu không nó sẽ trả về sai.Hàm này lấy khóa của đối tượng làm tham số và trả về kết quả boolean tương ứng. The function hasOwnProperty() will check for the existence of a key in the given object and returns true if the key is present or else it returns false. This function takes the key of the object as the parameter and returns the Boolean result accordingly.

Làm thế nào để tôi tìm thấy mảng kết hợp trong PHP?

Làm thế nào để kiểm tra xem mảng PHP có liên kết hay tuần tự không?Không có phương pháp sẵn có trong PHP để biết loại mảng.Nếu mảng tuần tự chứa n phần tử thì chỉ số của chúng nằm trong khoảng từ 0 đến (n-1).Vì vậy, hãy tìm giá trị khóa mảng và kiểm tra xem nó có tồn tại trong 0 đến (n-1) hay không thì nó là mảng liên kết tuần tự.find the array key value and check if it exist in 0 to (n-1) then it is sequential otherwise associative array.