1

こんにちは、次のことで私を助けてくれる人がいます。 これは、空白または空白でないテキスト ボックスが検出されるたびに、Empty!または常に印刷されます。Full!

私が必要とするのは次のとおりです。

  1. 一連のテキスト ボックス (配列内) のうち、空白のテキスト ボックスが 1 つだけ検出されても、空白のテキスト ボックスが存在するたびにではなく、1 回だけEmpty! エコーします。

  2. すべてのテキスト ボックスのみが空白でない場合は、1 回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 に答える