为什么将数组成员分配给变量返回我未定义的偏移量:0

问题描述

当我想获取一个数组的成员并将其分配给一个变量时,它会向我返回错误:未定义的偏移量:0

$answers=Answer::where(
    [
        ['questionid','=',$question['questionid']],['uniqid',$uniqCode]
    ]
    )->get()
    ->toArray();
$answer=$answers[0]['answer'];

但是当我在赋值之前完全打印它时,它会正确返回值:

dd($answers[0]['answer']) ;
$answer=$answers[0]['answer'];

解决方法

首先,检查数组是否确实存在,你可以尝试类似

if(isset($answers[0])) {
      //grab value here
      $answer=$answers[0]['answer'];
  }