PHP7中?与??有何具体差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计478个文字,预计阅读时间需要2分钟。
本篇文章简要介绍PHP7中?与??的区别。这两者都是条件运算符,但用法和作用有所不同。
有一定的参考价值,需要的朋友可以参考一下,希望对大家有所帮助。
对于变量$a,我们将其赋值为;(空字符串)、0(数字0)或false(布尔值false)。
对于变量$b,我们使用??运算符,此时会判断变量$a是否为空、数字0或布尔值false。
如果变量$a满足上述任一条件,那么$b的值将为变量$a的值;否则,b的值将为a的值。即:
$a=; // or 0 or false$b=$a ?? a; // 此时会判断$a是否为空、0或false
如果$a为空、0或false,则$b的值将直接取$a的值;如果$a不为空、0或false,则$b的值将取变量a的值。
本篇文章给大家介绍一下PHP7中的“?”与“??”的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。$a = ''; // or 0 or false $b = $a ?? 'a'; // 此时会判断$a是否存在 $a不为null // 等价于 // $b = isset($a) ? $a : 'a'; // $b is '' or 0 or false $c = $a ?: 'a'; // 此时会判断$a的值 // $c is 'a'
$a = null; $b = $a ?? 'a'; // 此时$a为null // $b is 'a' $c = $a ?: 'a'; // $c is 'a'
$a = null; $b = 'b'; $c = $a ?? $b ?? 'c'; // 返回第一个有定义的值 // $c is 'b' $a = null; $b = null; $c = $a ?? $b ?? 'c'; // $c is 'c'
function getId(?int $id) { return $id; } // 参数为指定的整型或空值 getId(857); // 857 getId('857'); // 参数非整型 报错 getId(); // 参数空 报错 getId(''); // 参数非整型 报错 getId(0); // 0 getId(null); // null
function getId():?int { return 1; } // 返回值为指定的整型或空值 getId() // 1 function getId():?int { return null; } getId() // null function getId():?int { return '1'; } getId() // 返回非整型 报错
本文共计478个文字,预计阅读时间需要2分钟。
本篇文章简要介绍PHP7中?与??的区别。这两者都是条件运算符,但用法和作用有所不同。
有一定的参考价值,需要的朋友可以参考一下,希望对大家有所帮助。
对于变量$a,我们将其赋值为;(空字符串)、0(数字0)或false(布尔值false)。
对于变量$b,我们使用??运算符,此时会判断变量$a是否为空、数字0或布尔值false。
如果变量$a满足上述任一条件,那么$b的值将为变量$a的值;否则,b的值将为a的值。即:
$a=; // or 0 or false$b=$a ?? a; // 此时会判断$a是否为空、0或false
如果$a为空、0或false,则$b的值将直接取$a的值;如果$a不为空、0或false,则$b的值将取变量a的值。
本篇文章给大家介绍一下PHP7中的“?”与“??”的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。$a = ''; // or 0 or false $b = $a ?? 'a'; // 此时会判断$a是否存在 $a不为null // 等价于 // $b = isset($a) ? $a : 'a'; // $b is '' or 0 or false $c = $a ?: 'a'; // 此时会判断$a的值 // $c is 'a'
$a = null; $b = $a ?? 'a'; // 此时$a为null // $b is 'a' $c = $a ?: 'a'; // $c is 'a'
$a = null; $b = 'b'; $c = $a ?? $b ?? 'c'; // 返回第一个有定义的值 // $c is 'b' $a = null; $b = null; $c = $a ?? $b ?? 'c'; // $c is 'c'
function getId(?int $id) { return $id; } // 参数为指定的整型或空值 getId(857); // 857 getId('857'); // 参数非整型 报错 getId(); // 参数空 报错 getId(''); // 参数非整型 报错 getId(0); // 0 getId(null); // null
function getId():?int { return 1; } // 返回值为指定的整型或空值 getId() // 1 function getId():?int { return null; } getId() // null function getId():?int { return '1'; } getId() // 返回非整型 报错

