> 백엔드 개발 > PHP7 > PHP7에서? 그리고? ? 차이점은 무엇입니까

PHP7에서? 그리고? ? 차이점은 무엇입니까

醉折花枝作酒筹
풀어 주다: 2023-02-17 22:00:01
앞으로
1826명이 탐색했습니다.

이 기사에서는 PHP7의 "?"와 "??"의 차이점을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

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() // 返回非整型 报错
로그인 후 복사

추천 학습: php 비디오 튜토리얼

위 내용은 PHP7에서? 그리고? ? 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿