将字符串分解为数组PHP

时间:2016-11-07 17:47:15

标签: php arrays input field explode

我有两个PHP格式的输入字段。这些字段需要保存到数组中,输出应该在括号中的每个单词旁边都有单词长度。还需要评估哪个输入字段1或2具有最长字以及每个字段中有多少字。它在执行期间显示错误。语法错误,意外的文件结束 Screenshot 1 Screenshot 2

<!DOCTYPE html ">
<html>
    <head>
        <meta charset="UTF-8">
            <title> Two Input field compare PHP </title>
    </head>
    <body> 
        <?php

        echo "<br/>";

        if (isset($_POST['submit'])) {
            $input1 = $_POST['input1'];
            $input2 = $_POST['input2'];
            //example $input1 = "Learning the PHP";
           //example $input2 = "Counting words and showing(7) like this word<< ";

            if (empty($input1)) {
                echo "You need to enter both fields !";
            }
            if (empty($input2)) {
                echo "You need to enter both fields !";
            }

              echo $input1;
              echo $input2;


            $inputarr1 = explode(" ", $input1);
            $inputarr2 = explode(" ", $input2);



            $longestlenghtarr1 = $longestlenghtarr2 = 0;

            $arraylength1 = sizeof($inputarr1);
            $arraylength2 = sizeof($inputarr2);



            $longest1 = $longest2 = 0;

            for ($x = 0; $x < arraylength1; $x++) {

            echo $inputarr1[$x] . " &lt; " . strlen($inputarr1[$x]) . " &gt; ";
                if (strlen($inputarr1[$x]) > $longest1) {
                    $longest1 = strlen($inputarr1[$x]);
                }
            }

            for ($y = 0; $y < arraylength2; $y++) {
                echo $inputarr2[$y] . " &lt; " . strlen($inputarr2[$y]) . " &gt; ";

                if (strlen($inputarr2[$y]) > $longest2) {
                    $longest2 = strlen($inputarr2[$y]);
                }
            }

                if ($longest1 > $longest2) {
                echo "<br/> The field 1 input has longest word of lenght " . $longest1." characters !";
                }

                if ($longest2 > $longest1) {
                        echo "<br/> The field 2 input has longest word of lenght " .$longest2." characters !";
                    }

                    if ($arraylength1 > $arraylength2) {
                    echo "<br/> The field 1 input has more words";}
                        if ($arraylength2 > $arraylength1) {
                            echo "<br/> The field 2 input has more words";
                        }

                        echo "<br/>";

              ?>

             <div>
                            <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">

                Input Text 1 <br/>
                <input type="text" name="input1" /><br/>
                Input Text 2 <br/>
                <input type="text" name="input2" /><br/>
                <input type="submit" name="submit" value="Submit" />
            </form>

        </div>

 </body></html>

1 个答案:

答案 0 :(得分:1)

可能错误的变量名称 - 它应该导致Undefined index 'input1'错误。

尝试将$POST_替换为$_POST,以便您拥有

$input1 = $_POST['input1']; 
$input2 = $_POST['input2'];