在我网站的注册表中,以下php代码控制用户名字段:
if (!isset($value[4])){
$return = $register_msg['_register_some_msg'];
}
这段代码有什么作用?它有检查字符串长度的任何内容吗?
目前它强制最少3个字符的名字,但是当我搜索时似乎strlen()
函数检查那里不存在的字符串的长度。
答案 0 :(得分:3)
是的,此代码正在检查字符串长度。
看来你有两个阵列。
$value
是一个数值数组,您可以检查是否设置了第5个元素。 (索引从0开始)。
$register_msg
是一个关联数组,而不是数字作为索引,它使用键。在这里,您将键_register_some_msg
的值分配给返回变量。
另一个选项是$value
是一个字符串,并且使用不好的做法通过将每个字母引用为数组键来检查每个字母:
<?php
$x = 'abcd';
echo $x[3];
//output: d
哪个不好。使用strlen()
代替http://php.net/manual/en/function.strlen.php
答案 1 :(得分:0)
isset()
方法只是验证$value[4]
(您的对象,字符串或其他)是否存在。