Php 阵列帮助
我做错了什么?用户名字符串少于2个字符,但仍然没有设置错误[] 登记册:Php 阵列帮助,php,arrays,Php,Arrays,我做错了什么?用户名字符串少于2个字符,但仍然没有设置错误[] 登记册: $errors = array(); $username = "l"; validate_username($username); if (empty($errors)) { echo "nothing wrong here, inserting..."; } if (!empty($errors)) { foreach ($errors as $cur_error) $er
$errors = array();
$username = "l";
validate_username($username);
if (empty($errors)) {
echo "nothing wrong here, inserting...";
}
if (!empty($errors)) {
foreach ($errors as $cur_error)
$errors[] = '<li class="warn"><span>'.$cur_error.'</span></li>';
}
function validate_username($username) {
$errors = array();
if (strlen($username) < 2)
$errors[] = "Username too short";
else if (strlen($username) > 25)
$errors[] = "Username too long";
return $errors;
$errors=array();
$username=“l”;
验证用户名($username);
if(空($errors)){
echo“这里没有问题,插入…”;
}
如果(!empty($errors)){
foreach($errors作为$cur\u error)
$errors[]='。$cur\u error. ;
}
函数验证\u用户名($username){
$errors=array();
if(strlen($username)<2)
$errors[]=“用户名太短”;
else if(strlen($username)>25)
$errors[]=“用户名太长”;
返回$errors;
}更改
验证用户名($username)
至$errors=验证用户名($username)代码>
您的函数正在影响名为errors
的局部变量,而不是您可能期望的全局errors
此外,您的代码可以按如下方式进行清理
$username = "l";
$errors = validate_username($username);
// No errors
if ( empty($errors) ) {
echo "nothing wrong here, inserting...";
}
// Errors are present
else {
foreach ( $errors as $cur_error ) {
$errors[] = '<li class="warn"><span>'.$cur_error.'</span></li>';
}
}
function validate_username($username) {
$errors = array();
$len = strlen($username);
if ( $len < 2 ) {
$errors[] = "Username too short";
} elseif ( $len > 25 ) {
$errors[] = "Username too long";
}
return $errors;
}
$username=“l”;
$errors=validate_用户名($username);
//没有错误
if(空($errors)){
echo“这里没有问题,插入…”;
}
//存在错误
否则{
foreach($errors作为$cur\u error){
$errors[]='。$cur\u error. ;
}
}
函数验证\u用户名($username){
$errors=array();
$len=strlen($username);
如果($len<2){
$errors[]=“用户名太短”;
}elseif($len>25){
$errors[]=“用户名太长”;
}
返回$errors;
}
更改验证用户名($username)
至$errors=验证用户名($username)代码>
您的函数正在影响名为errors
的局部变量,而不是您可能期望的全局errors
此外,您的代码可以按如下方式进行清理
$username = "l";
$errors = validate_username($username);
// No errors
if ( empty($errors) ) {
echo "nothing wrong here, inserting...";
}
// Errors are present
else {
foreach ( $errors as $cur_error ) {
$errors[] = '<li class="warn"><span>'.$cur_error.'</span></li>';
}
}
function validate_username($username) {
$errors = array();
$len = strlen($username);
if ( $len < 2 ) {
$errors[] = "Username too short";
} elseif ( $len > 25 ) {
$errors[] = "Username too long";
}
return $errors;
}
$username=“l”;
$errors=validate_用户名($username);
//没有错误
if(空($errors)){
echo“这里没有问题,插入…”;
}
//存在错误
否则{
foreach($errors作为$cur\u error){
$errors[]='。$cur\u error. ;
}
}
函数验证\u用户名($username){
$errors=array();
$len=strlen($username);
如果($len<2){
$errors[]=“用户名太短”;
}elseif($len>25){
$errors[]=“用户名太长”;
}
返回$errors;
}
这是因为您没有将validate\u username()
的返回值分配给任何变量
试一试
这是因为您没有将validate\u username()
的返回值分配给任何变量
试一试
您没有以正确的方式返回,您需要:
$errors = validate_username($username)
您没有以正确的方式返回,您需要:
$errors = validate_username($username)
您忘记分配$errors
$errors = validate_username($username);
您忘记分配$errors
$errors = validate_username($username);
**//试试这个**
$errors=array();
$username=“l”;
**$errors=validate_用户名($username)**
if(空($errors)){
echo“这里没有问题,插入…”;
}
如果(!empty($errors)){
foreach($errors作为$cur\u error)
$errors[]='。$cur\u error. ;
}
函数验证\u用户名($username){
$errors=array();
if(strlen($username)<2)
$errors[]=“用户名太短”;
else if(strlen($username)>25)
$errors[]=“用户名太长”;
返回$errors;
}
**//试试这个**
$errors=array();
$username=“l”;
**$errors=validate_用户名($username)**
if(空($errors)){
echo“这里没有问题,插入…”;
}
如果(!empty($errors)){
foreach($errors作为$cur\u error)
$errors[]='。$cur\u error. ;
}
函数验证\u用户名($username){
$errors=array();
if(strlen($username)<2)
$errors[]=“用户名太短”;
else if(strlen($username)>25)
$errors[]=“用户名太长”;
返回$errors;
}