您能告诉我什么Undefined Offset Error
是什么,为什么我要为下面的代码得到一个?
<?php
//random variables
$disallowed = array ("SELECT", "WHERE", "AND", "OR", "UPDATE", "DELETE");//THIS COULD CAUSE AN ISSUE
$ui="Zach's a doggy";//input
$ui2 = (explode(" ", $ui));//exploded
$count = count($ui2);
for($i=0;$i<=$count;$i++){
echo $ui2[$i];
echo $i;
echo $ui2;
echo $ui2[$i];
$inbool=$ui2[$i];
echo $inbool;
if(in_array($inbool, $disallowed)) {
switch ($inbool){
case "SELECT";
$ui2[$i]="%1";
break;
case "WHERE";
$ui2[$i]="%2";
break;
case "AND";
$ui2[$i]="%3";
break;
case "OR";
$ui2[$i]="%4";
break;
case "UPDATE";
$ui2[$i]="%5";
break;
case "DELETE";
$ui2[$i]="%6";
break;
}
}
}
return $ui2;
我已经尝试了很多方法,包括那些回声以尝试查看错误的根源,并且仍然没有提出任何解释。
您需要for
像这样更改循环条件
for($i=0;$i<$count;$i++){ // It is < and not <=
当您输入时<=
,它将在$i
3时进入循环。因此最终当您的代码到达此处时
echo $ui2[$i];
它将3
在不存在的数组中搜索索引,从而得到Undefined Offset
错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句