php - 未定义的偏移量:laravel 中的 1
问题描述
我想返回这个函数,但我不知道如何修复它。
Laravel 控制器
public static function downlines($userid,$level){
$level = '';
static $array = array();
$select = DB::table('stages')
->select('*')
->where('spillover_id',$userid)
->get();
$level++;
foreach($select as $value){
$userid = $value->member_id;
$array[$level] .= $userid.',';
self::downlines($userid, $level);
}
return $array;
}
错误未定义的偏移量:1
$array[$level] .= $userid.',';
如何让它工作?
解决方案
您设置了一个新的数组键,因此“。” 需要删除。
您的 $level++ 需要在 foreach 内,并且 $level 需要为 0 而不是 ''
foreach($select as $value){
$level++;
$userid = $value->member_id;
$array[$level] = $userid.',';
self::downlines($userid, $level);
}
或者你想要 $array[1] 中的所有用户 ID?在这种情况下,您需要先将数组键设置为空字符串:
$array[$level] = "";
foreach($select as $value){
$userid = $value->member_id;
$array[$level] .= $userid.',';
self::downlines($userid, $level);
}
无论哪种方式,您发布的代码都有很多错误。您否决了传递的变量,并将始终返回一个带有 1 个键的新数组
推荐阅读
- google-chrome - Google Chrome 对话框无法使用 LastPass 或 Chrome 密码管理器自动填充
- javascript - 使用 useState 钩子基于 Web Api 向 React Native 动态添加状态
- html - 如何从 Rascal 的分析树中获取语法?
- pytorch - 如何防止导入时的torch2trt AttributeError?
- javascript - 如何防止跨 div 的文本对齐?
- reactjs - 如何使用 Async/Await 链接两个 Fetch API 请求
- matlab - 是否可以使用matlab从串口读取数据?
- javascript - 测试用例之间的玩笑清晰模拟(javascript)
- javascript - VUE:获取数据但未使用 vueD3tree 显示
- python - 使用Python在数据框中添加平均值列