2013-10-26 33 views
-1

我想了解一個字符串在PHP中是否爲空,我正在使用這段代碼。如何知道PHP中的字符串是否爲空?

更新:工作代碼,感謝您的全力幫助。

<?php 

    //Syntax blah.php?request=Value to log here 

    //iPwnStore 
    $request = $_GET['iPwnStore']; 
    if(empty($request)) 
    { 
     echo "Error, string is null!"; 
     //It always comes done to the Error, allthough $request isn't nil 
    } 
    else 
    { 
     file_put_contents('iPwnStore.txt', $request1."\n\n", FILE_APPEND); 
     echo "Success"; 
    } 
?> 
+1

你正在設置'$ request1',但是檢查'$ request'。 – Barmar

+0

http://php.net/empty – BlitZ

+1

這個問題似乎是脫離主題,因爲正確讀取代碼會顯示錯誤。 – vascowhite

回答

3

編輯:你有一個不匹配的變量名稱...

$request1 = $_GET['iPwnStore']; 
echo $request; 

$ request1應$ request

if ($request === null) 

或者

if (empty($request)) 
+0

使用isset也是如此...... –

+0

是的,這也是一個不錯的選擇。 – Gavin

+0

好的,謝謝如果(空($ request)爲我工作 –

0
<?php 
    $request1 = $_GET['iPwnStore']; 
    echo $request; 
    if($request != '') 
    { 
     //do something 
    } else 
    { 
     //do something 
    } 
?> 

這應該做的工作。

+0

不會工作... $ resquest1設置但$請求用於比較。 – Gavin

0

正如已經建議$request === null,但更好的方法是檢查是否$_GET['iPwnStore']使用

if (isset($_GET['iPwnStore']) { 
    // Add to file 
} else { 
    // Show some error 
} 

否則調用$request = $_GET['iPwnStore']會產生一個通知設置。

0

這取決於你想要完成什麼。

如果您要檢查,如果字符串爲空(NULL明確,而不是「」),你應該使用:(注意嚴格的類型比較操作符:===,更在這裏:php comparison operators

if ($request === NULL) { 
    ... 
} 

如果你想防止將空的內容放入文件(即你想檢查字符串是否爲空),你應該使用這個:(注意,你需要做顯式的類型轉換以避免出現情況,$ request是整數0,在這種情況下,空($ request)將返回TRUE。更多關於此處的內容:php empty function

$request = (string) $request; 
if (empty($request)) { 
    ... 
} 
相關問題