2017-09-13 39 views
2

中設置或不以易讀的方式回顯變量,只是有一個簡單的問題。我想我知道答案,但我不希望。如何在PHP

我希望能夠回顯一個變量,我不知道是否設置。所以我想要一個默認變量,如果它沒有設置,我不想檢查它是否設置第一。

所以這裏有一個例子:

我有一個$變量,我不知道是否設置與否。

然後

echo "This is my number: " . $variable; 

如果$變量被設置爲5,我想它打印「這是我的號碼:5」,如果沒有設置,我想它打印「這是我的號碼:0 」。

我知道我可以做這樣的事情:

echo "This is my number: " . ($variable? : 0); 

但我仍然得到通知說$變量是不確定的,即使回波顯示正確。

我也可以做這樣的事情

if (!isset($variable)) 
{ 
    $variable = 0); 
} 
echo "This is my number: " . $variable; 

但是這太多的代碼,如果我這樣做了很多。

+0

如果你打算將此echo語句後使用'$ variable'別的東西,它會更好檢查它是否已設置並在echo語句之前將其設置爲默認值一次。否則,您只需再次執行此isset檢查/默認值設置。 (我不假設你不知道這一點,但似乎值得說不管。) –

回答

5

null coalescing operator是你最好的朋友。

echo "This is my number: " . ($variable ?? 0); 

空合併運算符可以作爲PHP 7.0.0的。另一種方法是使用isset()ternary operator?:,在PHP 5.3.0的舊版本中使用。

echo "This is my number: " . (isset($variable) ? $variable : 0); 
+4

*最好的朋友只適用於PHP 7+ :) – ishegg

+1

@ishegg現在每個人都應該使用它。 – salathe

+0

@salathe不完全。 Ruby更好 –

2

嘗試是這樣的:

echo "This is my number: " . (isset($variable) ? $variable : 0); 

作品在PHP 5+