1

嗨,有人可以帮我解决以下问题。每次Empty!Full! 每当检测到空白或非空白文本框时都会打印。

我需要的是以下内容;

  1. 在一系列文本框(在数组中)中,即使只有一个文本被检测为空白,也只会回Empty! 显一次,而不是每次出现空白文本框时。

  2. 如果只有所有文本框都是非空白的,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!";}
}
4

3 回答 3

1
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
    }
}
于 2013-07-23T17:48:33.117 回答
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
}

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

于 2013-07-23T17:49:14.277 回答
0

您不需要循环,用于array_search判断数组中是否有空元素。

if (array_search('', $_POST['name'])) {
  $result = 'Empty!';
} else {
  $result = 'Full!';
}
echo '<table border="1"><tr><td>Response</td></tr></table>';
echo $result;
于 2013-07-23T17:50:36.777 回答