Maison > développement back-end > PHP7 > en PHP7 ? et? ? quelle est la différence

en PHP7 ? et? ? quelle est la différence

醉折花枝作酒筹
Libérer: 2023-02-17 22:00:01
avant
1826 Les gens l'ont consulté

Cet article vous présentera la différence entre "?" et "??" Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

en PHP7 ? et? ? quelle est la différence

$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'
Copier après la connexion
$a = null;

$b = $a ?? 'a';
// 此时$a为null
// $b is  'a'

$c = $a ?: 'a';
// $c is 'a'
Copier après la connexion
$a = null;
$b = 'b';
$c = $a ?? $b ?? 'c';
// 返回第一个有定义的值
// $c is 'b'

$a = null;
$b = null;
$c = $a ?? $b ?? 'c';
// $c is 'c'
Copier après la connexion
function getId(?int $id) {
    return $id;
}
// 参数为指定的整型或空值
getId(857); // 857
getId('857'); // 参数非整型 报错
getId(); // 参数空 报错
getId(''); // 参数非整型 报错
getId(0); // 0
getId(null); // null
Copier après la connexion
function getId():?int
{
	return 1;
}
// 返回值为指定的整型或空值
getId() // 1

function getId():?int
{
	return null;
}
getId() // null

function getId():?int
{
	return '1';
}
getId() // 返回非整型 报错
Copier après la connexion

Apprentissage recommandé : tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal