在使用PHP變數時,常常會用到isset()來判斷變數是否存在。最常使用的情況,大概是判斷某陣列是否有指定的index值吧~
但有時會怕因為變數值或index值不存在,而導致出現錯誤訊息,因此會希望若變數不存在可以使用預設值,來保證運作正常。
PHP7以前的版本
在舊版本我們可以透過兩種方式,來達成:
方法一
一直以來,我都是用這種寫法
$name = isset($name) ? $name : 'aidec';
$name = isset($data['name']) ? $data['name'] : 'aidec';
方法二
除了上面那種寫法,還能改寫成這樣
isset($name) ?: $name = 'aidec';
PHP7以上的版本
從php7開始有了新的寫法,可以讓我們更簡化,只要改成這樣就行啦~
$name = $name ?? 'aidec';
不過值得注意的是,若要使用這種方法來判斷陣列的index,必須要7.1.11以上的版本才可以
$name = $data['name'] ?? 'aidec';
如果出現 Undefined index: hint 就表示PHP版本不夠高,可以通過升級PHP版本或者是改用原始方法來解決此問題。
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/php-isset-default-value
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記