我從字面上花了6個小時試圖找出這個。我有下面的代碼:PHP爆炸()和如果語句
$pieces3 = explode(":", $value2);
$checkiftime = $pieces3[0];
if ($checkiftime == 'time')
{
echo "Yes!";
}
else
{
echo "Oh no!";
}
$值2包含:
" 'time': 1376952971"
我敢肯定的說法應該是真實的,但由於某些原因,我不斷收到假
(哦不!)如果($ checkiftime == '時間')
出了什麼問題?我已經嘗試使用雙引號$ checkiftime ==「時間」,但仍然無濟於事。
編輯:
我試着這樣做後的Vardumps爆炸:
var_dump($pieces3);
echo "<br>";
var_dump($value2);
echo "<br>";
var_dump($pieces3[0]);
echo "<br>";
,並導致有:
array(2) { [0]=> string(13) " 'time'" [1]=> string(11) " 1376952971" }
string(25) " 'time': 1376952971"
string(13) " 'time'"
我不知道爲什麼 '時間' 顯示爲字符串(13 ),我看到這個空白空間,可能是一個包含多於一個隱藏字符串的特殊字符?我做了一個trim(),但它似乎沒有改變任何東西。
EDIT2:
謝謝大家,下面是我修改了代碼的一部分,它的偉大工作:
$checkiftime = trim($pieces3[0], " '\t\n\r\0\x0B");
if ($checkiftime == 'time')
'var_dump($ pieces3);' - 你能發佈結果格式化的問題嗎? – kero
'var_dump($ value2);' – jcsanyi
剛剛運行了您的確切代碼,使用'$ value2 =「time:1376952971」',它按預期工作。結果是'是!' –