2012-06-29 48 views
1
if($hOne!='') { 
    echo 'yes'; 
} else { 
    echo 'no'; 
} 

等了一會兒我曾嘗試使用上面的代碼,以確定ID X變量已已定,現在這是工作確定,直到上一個WordPress站點工作(我不會進入太多的細節),但基本上最初,varabile從來沒有被觸及,並按預期工作,如果你輸入一個值,然後刪除該值似乎認爲它已被設置。

一種方式我得到了這是使用下面的代碼,我的問題是,有沒有更好的方法來做到這一點。

乾杯

if (preg_match('/[A-Za-z]/i', $hone)) { 
     echo 'yes'; 
    } else { 
     echo 'no'; 
    } 

結果按規定使用其運作之下,謝謝大家:

if(isset($hone) and 
     !empty($hone)) { 
     echo '1'; 
    } else { 
     echo '2'; 
    } 
+2

這使我很難過.... isset和empty存在的原因。 – Corbin

+0

你檢查過empty()和isset()函數嗎?如果你只是想知道變量的存在,他們可能會證明是有用的。 – Salepate

+0

@Corbin你說的是什麼意思? –

回答

5

權。我的建議是回頭閱讀PHP文檔。讓它成爲一個星期或兩個項目,讓大多數部分至少可以瞥見。

您想使用isset或空白。

if (isset($hOne)) { } 

將檢查變量存在,

if (empty($hOne)) { } 

檢查它是否被設置而空。

爲了幫助您瞭解PHP,我建議在你的應用程序的頂部貼這樣的:

$test_server = $_SERVER['SERVER_NAME'] == "127.0.0.1" || $_SERVER['SERVER_NAME'] == "localhost" || substr($_SERVER['SERVER_NAME'],0,3) == "192"; 

ini_set('display_errors',$test_server); 
ini_set('display_startup_errors',$test_server); 

error_reporting(E_ALL|E_STRICT); 

(或者,如果你不在本地工作,只需設置$ test_server爲1)

+1

+1,但在php中設置值似乎更容易。ini或每個虛擬主機(如果服務器用於混合dev和prod部署)。 – Corbin

+0

@很好,謝謝你的解釋,就是我想要的 – odd

+0

很高興幫助。我同意Corbin,但無論它如何設置,這都適用於每個人。 –

1

issetempty函數必須用於確定變量是否存在並且是非空的。

但是這一個:

if (preg_match('/[A-Za-z]/i', $hone)) { 
    echo 'yes'; 
} else { 
    echo 'no'; 
} 

檢查是否變量(字符串)幾乎包含了一個字母(大小寫不論)。 其實它也是非常愚蠢的(它使用/../i - 忽略大小寫,並拍打A-Za-z

+0

謝謝,這只是我很快把東西弄倒了,生病了用了空的 – odd

+0

加了我用的,我應該在讀之前有時會讀,謝謝 – odd

1

你不應該只使用if ($x != '')來檢查,如果一個變量被設置與否。例如,我可以設置變量$x = ''。你應該檢查它是否如此設置:isset($x)並檢查它是否已設置,但是爲空:empty($x)

+0

我覺得有一個「不是」缺失第一句話?如果不是,那麼有些情況是不正確的。 – Corbin