php - 在PHP中,通过foreach验证

  显示原文与译文双语对照的内容
0 0

你可以帮我。 每次检测到空白或者非空白文本框时,都会打印每次 Empty 或者 Full 。!

我需要的是下面的内容

  1. 出了一系列文本框,即使只有一个文本,只检测到一个文本blank只有一次 blank textbox 。

  2. 如果只有 所有文本框都是空的,那么 echo Full 只需要一次 !!

你认为我如何更改以下内容? 谢谢你。

if(isset($_POST['Save']))
{
 if(is_array($_POST['name']))
 {
 foreach($_POST['name'] as $Value)
 {if($Value == '')
 {
 echo"<table border='1'><tr><td>Response</td></tr></table>";
 echo"Empty!";
 } 
 else 
 {
 echo"<table border='1'><tr><td>Response</td></tr></table>";
 echo"Full";
 }
 }
 }
}

编辑

echo"<td><input style='width:60px' type='text' name='name[]' id='vtext' class='sc_two' size='80' maxlength='5'></td>

然后在验证代码中,我有下面

if(isset($_POST['Save']))
{
 if($_POST['name']=='')
 {
 echo"<table border='1'><tr><td>Responses</td></tr></table>";
 echo"Empty";} 
 else 
 {
 echo"<table border='1'><tr><td>Responses</td></tr></table>";
 echo"Saved!";}
}
时间:原作者:8个回答

0 0
if(isset($_POST['Save'])) {
 if(is_array($_POST['name'])) {
 $result = 'Full!';//Result defaults to 'Full!'
//But if we find an empty value we change it to 'Empty!'
 foreach($_POST['name'] as $value){
 if($value === ''){
 $result = 'Empty!';
 break;
 }
 }
//Output the response
?>
 <table border="1"><tr><td>Response</td></tr></table>
 <?=$result?>
<?php
 }
}
原作者:
0 0
if(isset($_POST['Save']))
{
 if(is_array($_POST['name']))
 {
 $full = 0;
 foreach($_POST['name'] as $Value){
 if($Value == '')
 {
 $full = ++;
 } 
 }
 }
 echo"<table border='1'><tr><td>Response</td></tr></table>";
 echo $full == 0?"Full" :"Empty"//Shorthand if notation
}

你必须运行检查,然后在循环外输出响应。

原作者:
0 0

如果不需要循环,则使用 array_search 来判断 array 中是否有空元素。

if (array_search('', $_POST['name'])) {
 $result = 'Empty!';
} else {
 $result = 'Full!';
}
echo '<table border="1"><tr><td>Response</td></tr></table>';
echo $result;
原作者:
...