我有一個HTML格式的表單和PHP中的代碼。該表格包含了很多不同的東西<input>
。我只想要在瀏覽器中輸出一些文本,只要全部爲這些字段不爲空。if-check所有數組值
例如,對於兩個字段叫做name
和age
,我會做到以下幾點:
if($_POST['name'] and $_POST['age']) { ... }
但在這裏我有很多兩個以上的領域。我該怎麼辦?
我有一個HTML格式的表單和PHP中的代碼。該表格包含了很多不同的東西<input>
。我只想要在瀏覽器中輸出一些文本,只要全部爲這些字段不爲空。if-check所有數組值
例如,對於兩個字段叫做name
和age
,我會做到以下幾點:
if($_POST['name'] and $_POST['age']) { ... }
但在這裏我有很多兩個以上的領域。我該怎麼辦?
你可以嘗試這樣的事情
$allSet = true;
foreach($_POST as $key => $value){
if(empty($value)){
$allSet = false;
break;
}
}
我喜歡這個方法,但是並沒有給出留下空白的特定錯誤信息。你也應該把它移到一個函數中,並在確認它是否爲空之前修剪該值。 –
當然,有很多事情可以做。目標是指向他正確的方向:) – Dragony
簡單的功能。您可以附加必填字段array('name', 'age', 'phone')
function checkPost()
{
if (!$_POST) return false;
$fields = array('name', 'age');
foreach ($fields as $field)
{
if(!$_POST[$field])
return false;
}
return true;
}
if(checkPost()) { ... }
該結構似乎太複雜,它看起來,OPS技能水平 –
沒有複雜。只需要將新字段推送到數組。 – Bora
你也可以試試這個,如果需要發送的所有輸入:
if (count(array_filter($_POST)) != count($_POST)) {
// at least one input is empty
}
該函數返回同一陣列,而不值即null
,false
,0
或空字符串。所以如果過濾數組中的條目少於原始數據中的條目,這意味着至少有一個輸入未被填充。
編輯:它works!
你有多少個字段? – 2013-08-26 13:43:06
你應該閱讀'for'循環。 –
[**這可能有助於**](http://stackoverflow.com/a/3190482/1415724) –