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

时间:2014-09-21 10:35:33

标签: php arrays for-loop

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

未定义的偏移量:$ data [1]中的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";
                          }
                    }
                ?>

3 个答案:

答案 0 :(得分:0)

首先,您似乎确实需要

if ($data[$a]==1)

而不是

if ($data[1]==1)

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

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

所以你需要先拆分它。

答案 1 :(得分:0)

尝试使用print_r($ arrayName)打印出数组,并检查索引是否符合预期。

答案 2 :(得分:0)

<?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";
}
}
?>

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