Tôi muốn nhanh chóng xác định xem khóa có tồn tại trong một mảng hay không, để tránh xảy ra lỗi.Cách kiểm tra xem giá trị mảng sâu có hiện diện không
Ví dụ, tôi có thể có một mảng như thế này
$arr['f']['b']['g'] = array('a', 'b', 'c',) ;
Hoặc mảng có thể không có bất kỳ biến trong $ arr [ 'f'] [ 'b'] tại tất cả:
$arr['f']['x'] = array() ;
Làm thế nào tôi có thể tránh lặp lại trong một thử nghiệm khi tham chiếu (có lẽ) nội dung của $ arr ['f'] ['b'] ['g']?
if (isset($arr['f']) &&
isset($arr['f']['b']) &&
isset($arr['f']['b']['g']) /* ... yawn */) {
/* blah */
}
Có cách nào để xác định liệu giá trị mảng mà tôi đang tham chiếu có tồn tại không? Có vẻ như quá dài để phải kiểm tra sự hiện diện của cả giá trị mà tôi tìm kiếm, và tất cả tổ tiên của nó là tốt. Trong một số trường hợp có ý nghĩa, có, nhưng không phải tất cả.
Bằng ví dụ: nó có thể đại diện cho, nói, user-> từng phiên làm> giỏ hàng, nơi tôi muốn có một cách để nhanh chóng kiểm tra xem giỏ có mục, mà không cần phải bao gồm một tấm séc mỗi cho dù người dùng tồn tại, sau đó xem phiên tồn tại, sau đó xem giỏ tồn tại, sau đó ...
chỉnh sửa: tôi không tìm kiếm cho "không một giá trị mảng với một tên quan trọng của 'g' tồn tại", là "không một giá trị mảng với tổ tiên của f => b => g tồn tại".
Huh! Vâng phát hiện :) –
Chỉ cần làm rõ, điều này cũng an toàn kiểm tra sự tồn tại của '$ a': nó trả về false nếu' $ a' không được thiết lập. –
Wow, chắc chắn trong nhiều năm rằng điều này không hoạt động. Lol. – baldrs