Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阵列帮助_Php_Arrays - Fatal编程技术网

Php 阵列帮助

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

我做错了什么?用户名字符串少于2个字符,但仍然没有设置错误[]

登记册:

$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; }