在php中选择特定的数组索引
我通过HTML表单输入输入1,0,1,1,但显示错误 未定义的偏移量:1在$data中[1]==1。 找不到匹配项 有人能帮忙吗?我怎么做在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++) {
<?php
$data=$_REQUEST['data'];
$length=count($data);
for($a=0;$a<$length;$a++)
{
echo $data[$a]." ";
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]." ";
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,它应该打印消息