首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未定义的偏移量: 1,在循环过程中得到此错误

未定义的偏移量: 1,在循环过程中得到此错误
EN

Stack Overflow用户
提问于 2018-08-15 00:13:55
回答 2查看 39关注 0票数 0

我有以下代码:

代码语言:javascript
复制
$datas = $request->all();

   if (!empty($datas)){

       for ($i=1; $i<count($datas); $i++){
           $value = [
               'questionnaire_id' => $datas[$i]->questionnaires_id,
               'question_id' => $datas[$i]->id,
               'answer' => $datas[$i]->key
           ];

           return $value;
       }
   }

我收到错误消息:

Undefined offset: 1

使用输入表单:

<input type="" name="{{$question->id}}" value="{{$key}}">

如何在控制器中接收此值?

EN

回答 2

Stack Overflow用户

发布于 2018-08-15 00:21:37

假设$datas是一个从索引1开始没有空格的数值数组。这可能不是最好的假设。

根据我对request()->all()的了解,它将返回一个包含所有用户输入的关联数组,因此您将无法在$datas上访问$i键。仅仅因为它可能有1个元素,并不意味着数组上索引将是1。

也许您希望检索特定的用户输入,例如,如果您有一个名为checkbox的复选框,您可能希望使用request()->input('checkbox')而不是request()->all(),但我仍然假设您的数组键将从0开始,而不是1。

当所有其他方法都失败时,设置断点并使用调试器查看$datas的值。如果您没有调试器(这是我强烈推荐的),那么您可以使用dd($datas);来终止并转储值。

票数 1
EN

Stack Overflow用户

发布于 2018-08-15 02:08:48

您可以尝试初始化变量i = 0。另外,创建一个dd($datas)来查看您正在评估的内容。

代码语言:javascript
复制
$datas = $request->all();

if (!empty($datas)){
   for ($i=0; $i<count($datas); $i++){
      $value = [
         'questionnaire_id' =$datas[$i]->questionnaires_id,
         'question_id' =$datas[$i]->id,
         'answer' =$datas[$i]->key
      ];

      return $value;
   }    
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51845712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档