在php中选择特定的数组索引

在php中选择特定的数组索引,php,arrays,for-loop,Php,Arrays,For Loop,我通过HTML表单输入输入1,0,1,1,但显示错误 未定义的偏移量:1在$data中[1]==1。 找不到匹配项 有人能帮忙吗?我怎么做 <?php $data=$_REQUEST['data']; $length=count($data); for($a=0;$a<$length;$a++) {

我通过HTML表单输入输入1,0,1,1,但显示错误

未定义的偏移量:1在$data中[1]==1。 找不到匹配项

有人能帮忙吗?我怎么做

<?php
                    $data=$_REQUEST['data'];
                    $length=count($data);
                    for($a=0;$a<$length;$a++)
                    {
                        echo $data[$a]."&nbsp;";
                        if ($data[1]==1)
                          {
                          echo "Match found";
                          }
                        else
                          {
                          echo "Match not found";
                          }
                    }
                ?>

首先,您似乎确实需要

if($data[$a]==1)
而不是

if($data[1]==1)
第二件事是,如果未定义偏移量
1
,那么数组实际包含的元素少于2个(第一个是偏移量0,第二个应该是1)。我打赌你的数据数组看起来像

$data=array(
[0] => '1,0,1,1'
)

因此,您需要先将其拆分。

尝试使用print\r($arrayName)打印出您的数组,并检查索引是否与您期望的一样


<?php
$data=$_REQUEST['data'];
$data = explode(',',$data);
$length=sizeof($data);
for($a=0;$a<$length;$a++)
{
echo $data[$a]."&nbsp;";
if ($data[0]==1)
{
echo "Match found";
}
else
{
echo "Match not found";
}
}
?>

Explode会将字符串转换为数组,然后您可以使用
$data[$a]

是否提交数组或字符串“1,0,1,1”。If string然后使用explode(“,”,$data)我是jst在表单字段中插入1,0,1,1并提交给php代码我认为应该是
If($data[$a]==1)
。否则你还必须检查
$length
它应该大于1。我想检查数组的第一个元素是否等于1,它应该打印消息