Có cách viết tắt nào để gán một biến cho một cái gì đó nếu nó không tồn tại trong PHP không?Viết tắt PHP cho isset()?
if(!isset($var) {
$var = "";
}
Tôi muốn làm điều gì đó như
$var = $var | "";
Có cách viết tắt nào để gán một biến cho một cái gì đó nếu nó không tồn tại trong PHP không?Viết tắt PHP cho isset()?
if(!isset($var) {
$var = "";
}
Tôi muốn làm điều gì đó như
$var = $var | "";
Cập nhật cho PHP 7 (nhờ shock_gone_wild)
PHP 7 giới thiệu cái gọi là vô điều hành coalescing mà đơn giản hoá báo cáo bên dưới:
$var = $var ?? "default";
Trước PHP 7
Không, không có nhà điều hành đặc biệt hoặc cú pháp đặc biệt cho việc này. Tuy nhiên, bạn có thể sử dụng các nhà điều hành ternary:
$var = isset($var) ? $var : "default";
Hoặc như thế này:
isset($var) ?: $var = 'default';
Đây là một liên kết đến các tính năng mới của PHP7 (bao gồm cả toán tử kết hợp null): http://php.net/manual/en/migration70 .new-features.php – kurdtpage
Ngoài các câu lệnh gán, toán tử này cũng có thể được sử dụng trong các đối số hàm. –
Không hoạt động với các mảng. '$ attribute ['hint'] ?? '' '** Chỉ mục không xác định: gợi ý ** –
Bạn có thể sử dụng toán tử ternary mới (PHP 5.3+)
isset($var) ?: $var = "";
Hoặc cho phiên bản cũ hơn:
$var = isset($var) ? $var : "";
Nếu '$ var' tồn tại và có giá trị, bạn sẽ ghi đè giá trị đó bằng giá trị' true'. 2 ví dụ này không giống nhau. –
Bạn nói đúng. Đã chỉnh sửa, cảm ơn. –
Bạn không chắc chắn ai đã downvoted bạn, nhưng tôi đã đưa bạn trở lại, đây là một câu trả lời hữu ích, cảm ơn. – brentonstrine
Không '$ val = isset ($ var)? $ var: ''; 'công việc cho bạn? –
Tôi thấy bài viết này rất hữu ích: http://davidwalsh.name/php-shorthand-if-else-ternary-operators – Pathros
Tốt hơn bản gốc cho bản sao này: [Cách tốt nhất để cung cấp cho một biến một giá trị mặc định (mô phỏng Perl ||, || =)] (http://stackoverflow.com/q/5972516/2157640) – Palec