2013-01-05 82 views
-2

我是一名初學者,我有兩套適用於表單的「if語句」,他們幾乎做同樣的事情,但我想了解他們爲什麼要做他們所做的事情。當我打印錯誤並提交一個空的表單時,第一個if語句將數組中的每個字段與每個字段旁邊的「要求」字詞回顯。至於第二條if語句,它只是回聲「你沒有填寫所有的類別」,即使一個字段在表單中留空,而第一個if語句與迴應留空的特定字段的if語句相比也是如此。就像if你可以逐步分解我的每一組編碼,這將是偉大的。你能否推薦一個可以學習這門語言的鏈接?謝謝!如果變量存在,即使它是空的有人可以解釋這些if語句在說什麼嗎?

<?php 

    if(isset($_POST['registrationform'])){ 
     $required_fields = array('first_name', 'last_name', 'email', 'password', 'gender', 'month', 'day', 'year'); 
     foreach ($required_fields as $key=>$value) { 
     if (!isset($_POST[$value]) || $_POST[$value]=='') { 
       $errors[$value] =$key." is required"; 
      } 
      } 
      } 
      print_r($errors); 
?> 



<?php 
if (empty($_POST) === false) { 
     $required_fields = array('first_name', 'last_name', 'email', 'password', 'sex', 'birthday', 'terms_of_service'); 
     foreach ($_POST as $key=>$value) { 
      if (empty($value) && in_array($key, $required_fields) === true) { 
       $errors[] = 'You didn\'t fill in all of the categories.'; 
       break 1; 
      } 
      } 
      } 
      print_r($errors); 
?> 
+1

拿起一本關於PHP的初學者書籍或瀏覽一些教程。 – 2013-01-05 20:32:37

回答

0

「isset()函數返回true。如果變量不存在,或者,如果他們的內容被認爲是‘空’(空字符串空()返回true ,0,NULL,false,沒有元素的數組),它們完全不同,真的,我相信empty($ var)相當於!($ var)。「

http://www.webhostingtalk.com/archive/index.php/t-373975.html

看到這個問題:What is the difference between isset and empty?

信息關於這兩個函數:

http://us3.php.net/manual/en/function.empty.php

http://us3.php.net/manual/en/function.isset.php

教程學習PHP:

http://www.w3schools.com/php/default.asp

+0

謝謝!看起來我有一些閱讀要做。 –

相關問題