2011-02-24 36 views
0

一個例子,我有一個變量,它的值是「null」。但是,當我回顯出來,它顯示爲沒有(因爲它爲空)。php讓它說空

test.php的:

<?php 

$a=null; 
echo 'start'.$a.'end'; 

?> 

有沒有辦法讓這個輸出 'startnullend' 時,在Firefox請求文件test.php的?由於某種原因,var_dump不起作用,print_r也不起作用。簡單的方法是IF測試null,然後使用if語句輸出null,但有沒有不同的方法?

+3

如果存在問題的答案並不令人滿意,留下一些反饋到效果。你的問題不是很清楚,所以如果人們誤解了你,然後澄清你需要什麼 – 2011-02-24 16:23:12

+0

大多數熱門答案已經使用了一個if語句,但問題是尋找一種不同的方式來做到這一點。請關閉/刪除問題。謝謝。 – David19801 2011-02-24 18:51:33

+2

因此,接受最接近你的問題的答案(也就是說,「你不能沒有條件」)。被告知沒有答案仍然是答案。 – Andrew 2011-02-25 14:21:53

回答

1

做一個回聲

var_dump($var) 

顯示類型以及價值

3

您可以使用var_dumpprint_r展現價值的代替的var_dump。

1

可以使用var_dumpprint_r

0

將它轉換爲字符串第一:

echo (string)$myvar; 
+0

這將導致一個空的''「'字符串,因爲這就是'echo'實際上在後臺執行的操作... – ircmaxell 2011-02-24 16:09:10

+0

你說得對,我的錯誤。 – NathanGaskin 2011-02-24 16:10:17

1

沒有爲一個功能 - )的var_dump(;

,或者試試這個功能:

function getReadableVar($var){ 
if($var === null){ 
$var = "null"; 
}elseif($var === true){ 
$var = "true"; 
}elseif($var === false){ 
$var = "false"; 
} 
return $var; 
} 

echo getReadableVar($var); 
//or 
echo var_dump($var); 
0

使它成爲一個字符串?

$a = 'null'; 
+0

無法更改$ a,它來自外部源(必須包含其定義以簡化示例)。 – David19801 2011-02-24 16:18:36

+0

你爲什麼要打印什麼? – 2011-02-24 16:19:22

+0

需要把它放到一個mysql表中。 – David19801 2011-02-24 16:20:00

0

編寫一個函數來做到這一點,當你想檢查空調用它。

function n($var) { 
    return $var === null ? "null" : $var; 
} 

並且每次都使用它。

$a=null; 
echo 'start'.n($a).'end'; 
+0

'===假'?與'null'相比,這會失敗。 – Andrew 2011-02-24 16:19:10

+0

編輯,歡呼! – adarshr 2011-02-24 16:21:53

0

如果你想顯示在屏幕上的字符串NULL,則:

$a = "NULL"; 

否則空是保留字呀?

2

試試這個

echo 'start'.(isset($a) ? $a : 'null').'end'; 
3

我不知道爲什麼,這不可能在其他的問題,但在一個空字符串使用

<?php 
    $a=null; 
    echo 'a'.($a===null?'null':$a).'b'; 
?> 
+0

既然我們正在專門說'空',你應該使用'==='。 – Andrew 2011-02-24 16:20:49

+0

同意。 *修復* – Nanne 2011-02-24 16:21:21

+3

'is_null($ a)'也可以在這裏工作。 – awm 2011-02-24 16:25:43

3

鑄造null爲字符串結果。如果你想輸出null,你必須明確地做:

echo 'start'.((is_null($a)) ? 'null' : '').'end'; 

或者別的類似。

0
function toString($a) { 
return is_null($a) ? "null" : $a; 
} 

(未測試)

+0

你把你的價值混淆起來了。如果它爲空,它將打印'$ a';如果不是,則打印出'null'。 – 2011-02-24 16:30:20

+0

Rocket,我認爲PJK是正確的。你搞混了:) – amitchd 2011-02-24 17:53:27

+0

不,Rocket *是*對。我搞砸了......但現在已經糾正了 – PJK 2011-02-24 22:12:52

1
<?php 
    // prints 'null', if $var is null 
    echo is_null($var) ? 'null' : $var; 
    // prints 'true' or 'false' 
    echo (bool)$var ? 'true' : 'false' 
?>