nullºÏ²¢ÔËËauÊÇÒ»¸oºÃ¶«Î÷£¬ÓÐÁËËuÎÒÃǾÍÄܺܽ±aµÄ»ñÈ¡Ò»¸o²ÎÊý£¬²¢ÄÜÔÚÆaΪ¿ÕµÄÇe¿oÏÂÌa¹(C)Ò»¸oĬÈÏÖµ¡£±ÈÈçÔÚjsÖпÉÒÔÓÃ||À´¸a£º
function setSomething(a){
a = a || 'some-default-value';
// ...
}
¶øÔÚPHPÖУ¬¿ÉϧPHPµÄ||×ÜÊǵ»Øtrue»ofalse£¬ÎÞ¨ÕaÑuÀ´¸a¡£
* PHP7²ÅÕýʽ¼ÓÈeÁË??Õa¸oÔËËau£º**
// »ñÈ¡user²ÎÊýµÄÖµ(Èç¹uΪ¿Õ£¬ÔoÓÃ'nobody')
$username = $_GET['user'] ?? 'nobody';
// µÈ¼ÛÓÚ:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
PHP7 ¹À¼Æ»¹Óкܳ¤Ê±¼a²ÅÄÜÓõ½Éu²u»¾³ÖУ¬ÄÇÔÚÄ¿Ç°µÄPHP5ÖÐÓÐûÓÐÌae´u½°¸ÄØ£¿
¾ÝÑо¿£¬ÍeÈ«Óиodz£±a½ÝµÄÌae´u½°¸£º
// »ñÈ¡user²ÎÊýµÄÖµ(Èç¹uΪ¿Õ£¬ÔoÓÃ'nobody')
$username = @$_GET['user'] ?: 'nobody';
// µÈ¼ÛÓÚ:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
-- ÔËÐд˴uÂe: https://3v4l.org/aDUW8
µÉ´oÁËÑÛ¾¦¿´£¬¸uÇ°ÃaeµÄPHP7µÄÀý×Ó²i²»¶a£¬Ö÷ÒªÊÇ°Ñ ?? Ìae»»ÎªÁË ?: ¡£ Õa¸oÊǸoʲô¹iÄØ£¿ÆaʵÕa¾ÍÊÇ (expr1) ? (expr2) : (expr3) ±i´iʽµÄÊ¡ÂÔģʽ£º
±i´iʽ (expr1) ? (expr2) : (expr3) ÔÚ expr1 ÇoֵΪ TRUE ʱµÄֵΪ expr2£¬ÔÚ expr1 ÇoֵΪ FALSE ʱµÄֵΪ expr3¡£
×Ô PHP 5.3 Æ𣬿ÉÒÔÊ¡ÂÔÈýÔªÔËËauÖмaÄDz¿Ö¡£±i´iʽ expr1 ?: expr3 ÔÚ expr1 ÇoֵΪ TRUE ʱµ»Ø expr1£¬ñÔo*µ»Ø expr3¡£
-- http://php.net/manual/zh/language.operators.comparison.php
µ±È»£¬Õa¸oÌae´u*½°¸Ò²²»ÊÇÍeÃÀµÄ ¡ª¡ª Èç¹u $_GET ÖÐûÓÐ 'user'£¬»aÓÐÒ»Ìo Notice: Undefined index: user µÄ´iÎo£¬ËuÒÔÐeÒªÓÃ@À´ÒÖÖÆÕa¸o´iÎo£¬»oÕß¹Ø±Õ E_NOTICE µÄ´iÎo¡£
*ps£ºPHP7 nullºÏ²¢ÔËËau ¸ae±ðisset()**
ÒÔÇ°µÄд*¨
$info = isset($_GET['email']) ? $_GET['email'] : ¡®noemail';
ÏÖÔÚÖ±½ÓÕaÑuд¾Í¿ÉÒÔÁË
$info = $_GET['email'] ?? noemail;
»¹¿ÉÒÔÕaÑuÁ¬Ð´Ê¹ÓÃ
$info = $_GET['email'] ?? $_POST['email'] ?? ¡®noemail';