2012-04-13 20 views
5

Xin chào Tôi đang thực hiện cuộc gọi này:Lưu ý: Thuộc tính không xác định - làm cách nào để tránh thông báo đó trong PHP?

$parts = $structure->parts; 

Bây giờ $ cấu trúc chỉ có phần trong những trường hợp đặc biệt, vì vậy cuộc gọi trả về cho tôi null. Thats tốt với tôi, tôi có nếu ($ phần) {...} sau trong mã của tôi. Đáng tiếc là sau khi mã chạy xong, tôi nhận được tin nhắn này:

Notice: Undefined tài sản: stdClass :: $ bộ phận trong ...

Làm thế nào tôi có thể ngăn chặn thông báo này?

Cảm ơn!

Trả lời

14

Chức năng isset nên làm chính xác những gì bạn cần.

PHP: isset - Manual

Ví dụ:

$parts = (isset($structure->parts) ? $structure->parts : false); 
+0

Nhờ học được một cái gì đó :) mới! ** Đã giải quyết ** – EOB

+0

+1 Đã giúp tôi giải quyết vấn đề tương tự – AdRock

3

có lẽ đây

$parts = isset($structure->parts) ? $structure->parts : false ; 
0

Với sự giúp đỡ của property_exists() bạn có thể dễ dàng loại bỏ "bất động sản Không xác định" thông báo từ file php của bạn.

Sau đây là ví dụ:

if(property_exists($structure,'parts')){ $parts = $structure->parts; }

Để biết thêm http://php.net/manual/en/function.property-exists.php

Các vấn đề liên quan