我使用str_replace填充了一些值爲數字的模板。 當一個數字是0(零)時,PHP認爲它是假的並且什麼也不寫。顯示一個零
我試圖在每一個解決方案中發現SO和網絡:
- INTVAL($ myZeroVar)
- floatval($ myZeroVar)
- strval($ myZeroVar)
- (串)$ myZeroVar
- ''。$ myZeroVar使用number_format,sprintf的,str_pad
- 隨機測試...
沒有這些工作。
要顯示它的唯一方法是將$ myZeroVar與空格($myZeroVar.' '
)連接起來。 但是如果我不想要這個空間呢?
我做錯了什麼?也許在PHP配置?
不要告訴我你每次輸出數字都連接一個空格嗎?
感謝
編輯:
這裏是我真棒模板系統(開玩笑):
$template = 'Some text with a {value}';
$data = 0;
$template = str_replace('{value}', $data, $template);
的結果是: 「有些文字有」
編輯:解決
好的。就在我跑我的辦公桌下躲起來,我必須告訴你,這個問題從一個線,剛好我真棒模板系統前:
if(!empty($data)
所以,現在我通過$val === '' || $val === null
更換此,一切都很好... 我愛失去小時來解決由我造成的問題。
看起來我永遠不會在這裏做一個有用的職位!
謝謝大家。
不要降低太多,這個帖子對新人有些用處: 總是檢查3次!
並非每種語言都認爲0 =假?你可以添加更多的代碼,你得到什麼,你期待什麼,不知道你想要做什麼.. – Naruto
*「有時我討厭這種愚蠢的語言。」* - 這是一個工匠指責他的工具。這不是「工具的錯」。我從你的問題中刪除了這個咆哮。 –
@naruto:他想把0聲明爲一個字符串,而不是一個int,它是false的表示。在我的easyPHP開發服務器上,(字符串)$ myZeroVar正在工作,var_dump('0')也是。我認爲它來自你的配置。 –