我想检查字符串是否为字母数字,并且不打算使用Regex
。我得到了正确的答案,但是程序以某种方式抛出错误,指出undefined offset
。我检查了阵列键,看来它们很好。
$str="hello";
$arr=str_split($str);//convert a string to an array
$a=0;
$d=0;
for($i=0;$i<=count($arr);$i++)
{
if($arr[$i]>='a' && $arr[$i]<='z' || $arr[$i]>='A' && $arr[$i]<='Z')
{
$a=1;
}
elseif($arr[$i]>='0' && $arr[$i]<='9')
{
$d=1;
}
}
if($a==1&&$d==1)
{
echo "Alphanumeric";
}
else
{
echo "Not alphanumeric";
}
答案 0 :(得分:2)
数组从索引零开始,所以结束于<?php
for($i=0; $i<db_rowcount();$i++){
//loop through every result set
$projID=db_get($i,0);
$projNo=db_get($i,1);
$projDesc=db_get($i,2);
$projSDE_1=db_get($i,8);//1st Services Development Engineer
$projSDE_1_name = func_GetEmpName($projSDE_1);//get name from function
}//endfor
function func_GetEmpName($empID) {
$sqlEmp="select EmpID,LastName2_c from empbasic WHERE EmpID= '".$empID."'";
db_select($sqlEmp);
$rowcount=db_rowcount();
if(db_rowcount()>0){
for($f=0;$f<count($empID);$f++){
$empID=db_get($f,0);
$empName=db_get($f,1);
}
}
return $empName;
} // function
?>
i<count
答案 1 :(得分:2)
您应该签出ctype_alnum ( string $text )
;功能。
$str="hello";
if(ctype_alnum($str))
{
echo "Alphanumeric";
}
else
{
echo "Not alphanumeric";
}
答案 2 :(得分:1)
您应该使用$i < count($arr)
或$i <= count($arr) -1
,因为数组从0开始,只有$i <= count($arr)
会导致undefined offset
错误消息。