Dung dịch
echo $person->middleName ?? 'Person does not have a middle name';
Để cho thấy điều này sẽ trông như thế nào trong một tuyên bố IF để rõ ràng hơn về cách thức hoạt động của nó.
if[$person->middleName ?? false] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
Giải trình
Cách PHP truyền thống để kiểm tra sự tồn tại của một cái gì đó là phải làm:
if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
Hoặc cho một cách cụ thể hơn của lớp:
if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
Cả hai đều tốt trong các câu lệnh dài nhưng trong các tuyên bố ternary, chúng trở nên rườm rà không cần thiết như vậy:
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
Bạn cũng có thể đạt được điều này chỉ với người vận hành ternary như vậy:
echo $person->middleName ?: 'Person does not have a middle name';
Nhưng ... nếu giá trị không tồn tại [không được đặt], nó sẽ tăng E_NOTICE
và không phải là thực hành tốt nhất. Nếu giá trị là null
, nó sẽ không tăng ngoại lệ.
Do đó, toán tử ternary để giải cứu làm cho câu trả lời nhỏ gọn này:
echo $person->middleName ?? 'Person does not have a middle name';
[Php 5> = 5.1.0, Php 7, Php 8]
Property_exists - Kiểm tra xem đối tượng hoặc lớp có thuộc tính không — Checks if the object or class has a property
Sự mô tả
Property_Exists [Object | String $object_or_class
, String
0]: Bool[object|string if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
$object_or_class
, string
0]: boolif[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
Ghi chú::
Trái ngược với isset [], property_exists [] trả về
1 ngay cả khi tài sản có giá trịif[isset[$person->middleName]] { echo $person->middleName; } else { echo 'Person does not have a middle name'; }
null
.isset[], property_exists[] returns1 even if the property has the valueif[isset[$person->middleName]] { echo $person->middleName; } else { echo 'Person does not have a middle name'; }
null
.
Thông số
if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
3Tên lớp hoặc một đối tượng của lớp để kiểm tra
if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
4Tên của tài sản
Trả về giá trị
Trả về
if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
1 nếu tài sản tồn tại, if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
6 nếu nó không tồn tại hoặc null
trong trường hợp có lỗi.if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
1 if the property exists, if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
6 if it doesn't exist or null
in case of an error. Ví dụ
Ví dụ #1 Một ví dụproperty_exists[] example
if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
8if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
9if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
0
Ghi chú
Ghi chú::
Trái ngược với isset [], property_exists [] trả về
1 ngay cả khi tài sản có giá trịif[isset[$person->middleName]] { echo $person->middleName; } else { echo 'Person does not have a middle name'; }
null
.
Ghi chú::
Trái ngược với isset [], property_exists [] trả về
1 ngay cả khi tài sản có giá trịif[isset[$person->middleName]] { echo $person->middleName; } else { echo 'Person does not have a middle name'; }
null
.property_exists[] function cannot detect properties that are magically accessible using the1 magic method.if[property_exists[$person, 'middleName']] { echo $person->middleName; } else { echo 'Person does not have a middle name'; }
Thông số ¶
3if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
2if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
3if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
4if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
5Tên lớp hoặc một đối tượng của lớp để kiểm tra ¶
4if[isset[$person->middleName]] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
6if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
7if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
8if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
9echo $person->middleName ?? 'Person does not have a middle name';
0Nanhe Kumar ¶ ¶
8 năm trước
echo $person->middleName ?? 'Person does not have a middle name';
1
echo $person->middleName ?? 'Person does not have a middle name';
2
echo $person->middleName ?? 'Person does not have a middle name';
3falundir tại gmail dot com ¶ ¶
5 năm trước
echo $person->middleName ?? 'Person does not have a middle name';
4
echo $person->middleName ?? 'Person does not have a middle name';
5
echo $person->middleName ?? 'Person does not have a middle name';
0Ewisuri [gmail] ¶ ¶
8 năm trước
echo $person->middleName ?? 'Person does not have a middle name';
7
echo $person->middleName ?? 'Person does not have a middle name';
8
echo $person->middleName ?? 'Person does not have a middle name';
9
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
0falundir tại gmail dot com ¶ ¶
5 năm trước
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
1
echo $person->middleName ?? 'Person does not have a middle name';
9
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
3Ewisuri [gmail] ¶ ¶
@fitorec ¶
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
4
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
5
echo $person->middleName ?? 'Person does not have a middle name';
03 năm trước ¶
Saurabh dot agarwal89 tại gmail dot com ¶
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
7
7 năm trước ¶
5 năm trước
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
8
isset[$person->middleName] ? echo $person->middleName : echo 'Person does not have a middle name';
9
if[property_exists[$person, 'middleName']] {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
4echo $person->middleName ?: 'Person does not have a middle name';
1Ewisuri [gmail] ¶ ¶
@fitorec ¶
echo $person->middleName ?: 'Person does not have a middle name';
2