多选到阵列 [英] Multi-select to Array

查看:127
本文介绍了多选到阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 <!DOCTYPE HTML>
< HTML和GT;
    < HEAD>
        <标题>我的表格及LT; /标题>
        <间的charset =UTF-8/>
    < /头>
    <身体GT;
        <形式方法=获取>
            < D​​IV>名称
                <输入名称=名字大小=15型=文本/>
            < / DIV>
            <选择多个=YESNAME =色彩[]>
                <选项> 1 LT; /选项>
                <选项> 2'; /选项>
                <选项> 3'; /选项>
                <选项> 4℃; /选项>
                <选项> 5℃/选项>
            < /选择>
        < /表及GT;
        < PHP
            $数= 10;
            回声你好;
            如果(使用isset($ _ GET [名称])){
                回声。$ _ GET [名称];
                回声< BR />中;
            }
            回声计数($ _ GET [色]),,$ _GET [颜色],< BR />中;
            回声$ _GET [$颜色[0],是你的第一种颜色。
            如果(使用isset($ _ GET [$色])){
                回声你必须像;
                为($ colornum = 0; $ colornum<计数($ _ GET [$色]); $ colornum ++){
                    回声$ _GET [$颜色[$ colornum],;
                }
            }
        ?>
    < /身体GT;
< / HTML>

为什么不工作的呢?选择多个确实在数组中不正确的输出,或可能
有很多东西,调试没有帮助我的理解得多。我得到了一个未定义的索引和可变的错误。这里是我的输出选项中选择1-3后:

 名称
你好jimbo1qaz
3,磁盘阵列注意:未定义的变量:颜色E:\\ XAMPP \\ htdocs中\\ myform.php第28行注意:未定义指数:在E:\\ XAMPP \\ htdocs中\\ myform.php第28行是你第一种颜色。
注意:未定义的变量:颜色E:\\ XAMPP \\ htdocs中\\ myform.php上线29


解决方案

为什么要使用 $颜色 $ _ GET [$颜色变量[ 0] 。这是字符串不是变量。相反,这种使用这样的:

  $ _ GET ['颜色'] [0]

<!DOCTYPE html>
<html>
    <head>
        <title>My Form</title>
        <meta charset="UTF-8" />
    </head>
    <body>
        <form method="get">
            <div>Name 
                <input name="name" size="15" type="text" />
            </div>
            <select multiple="yes" name="colors[]">
                <option> 1 </option>
                <option> 2 </option>
                <option> 3 </option>
                <option> 4 </option>
                <option> 5 </option>
            </select>
        </form>
        <?php
            $number=10;
            echo "hello";
            if (isset($_GET["name"])){
                echo " ".$_GET["name"];
                echo "<br />";
            }
            echo count($_GET["colors"]), " ", $_GET["colors"], "<br />";
            echo $_GET[$colors[0]]," is your first color.";
            if(isset($_GET["$colors"])){
                echo "You must like ";
                for($colornum=0;$colornum<count($_GET["$colors"]);$colornum++){
                    echo $_GET[$colors[$colornum]]," ";
                }
            }
        ?>
    </body>
</html>

Why doesn't this work? The select multiple doesn't output right in the array, or possible Has a lot of debugging stuff that doesn't help my understanding much. I get undefined index and variable errors. Here's my output after selecting options 1-3:

Name
hello jimbo1qaz
3 Array

Notice: Undefined variable: colors in E:\xampp\htdocs\myform.php on line 28

Notice: Undefined index: in E:\xampp\htdocs\myform.php on line 28 is your first color.
Notice: Undefined variable: colors in E:\xampp\htdocs\myform.php on line 29

解决方案

Why are you using $colors variable like $_GET[$colors[0]]. This is string not a variable. Instead of this use like this :

$_GET['colors'][0]

这篇关于多选到阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆