显示复选框选择和未定义偏移错误中的用户选择


display user choices from checkbox selections and undefined offset error

我将显示用户通过勾选复选框做出的选择。出于某种我不明白的原因,存储用户选择的数组显示为多维数组。下面是声明数组的代码:

//declare the array
    $languages_array = array();
    //store user input into the array
    $languages_array[] = $_POST['languages'];

下面是我从数组中显示信息的地方:

print_r($languages_array);

这是我得到的输出:

阵列([0]=>数组([0]=> xhosa_word [1] => zulu_word [2] => sepedi_word))这款比赛用球号称是全面:ilizwi

这正常吗?这不应该是一个一维数组吗?

我也得到以下错误:

注意:未定义的偏移量:3在C:'xampp'htdocs'Dictionary' results_widgets .php第53行

这是显示上述输出

的代码
                            print_r($languages_array);
                            for($i=0;$i<$array_count;$i++)
                            {
                                if($languages_array[0][$i] == 'zulu_word') //this is line 53
                                    {
                                        echo 'Isizulu :'.$row['zulu_word'];
                                    }
                            }       

你的问题在这里:

$languages_array = array();
//store user input into the array
$languages_array[] = $_POST['languages'];

你正在创建一个新的数组,并且你将数组的第一个元素设置为$_POST['languages']。

你可能想要的是这样的(你不需要原始的数组声明):

//store user input into the array
$languages_array = $_POST['languages'];

更新:至于你的第二个问题…你有一个一维数组,但是你把它当作二维数组来处理:

if($languages_array[0][$i] == 'zulu_word') //this is line 53

你可能想要这个:

if($languages_array[$i] == 'zulu_word') //this is line 53

$array_count的值是多少?你可以使用count():

$array_count = count($languages_array);

直接赋值

$languages_array = $_POST['languages'];

$_POST['languages']是一个具有相同名称的字段数组。

你可以检查$_POST['languages']是否是一个数组使用var_dump($_POST['languages']);

使用$languages_array[0]=='anything youwanna check'