0

我有 3 个功能(我想要做的缩减版)。似乎当函数返回数组时,它只返回最后一个值(在我的情况下为 null)并丢失之前附加的值:

    function addError($err){
      $error = array();
      if ($err != NULL){
          $error[] = $err;
     }
       return $error; 
     }

    // temp function to populate addError
    function populateError(){
       for ($i = 0; $i < 20; $i++){
       addError($i);
      } 
    }

    // temp function to display Errors
    function display(){
       $v = addError(NULL); 
       print_r($v); 
    }
   //to test the functions
    populateError(); 
    display(); 

当我调用显示函数时,它给出了一个空数组。我试图在函数 addError 中打印它,就在 return 语句之前它具有值,但是当从另一个函数(显示)调用时,只打印空数组,因为我在调用时将 NULL 传递给函数。

不太确定如何实现这一点,我希望该函数将返回一个数组,其中包含循环中附加的所有值(一个表单提交)。我将不胜感激任何帮助/指针。非常感谢提前!

4

1 回答 1

0

好的,所以我发现了问题所在。不确定它是否会帮助任何人,但我在验证错误(通过标题标签)时重定向了用户,结果变量值丢失了。相反,我在发布表单并将页面发布给自己之后包含了功能页面,因此我可以显示错误,突出显示字段等。我仍然不相信这种方式和代码质量,但作为一个步骤一个它似乎正在工作,现在要改进它。希望其他人也可以从中受益,谢谢!

于 2014-09-29T04:30:56.007 回答