2015-05-12 14:28:28 2577次浏览 2条回答 0 悬赏 0 金钱

发现问题,实际是在Controller中返回时被改变了。

return($id) 是原样返回;

默认的 return[$id] 是把$id作为数组成员之一返回,所以外面套了一层。

在Controller中有生成一个数组$id,格式如下:

array (size=2)
1 => string '1' (length=1)
2 => string '2' (length=1)

$this->render(……,'id'=>$id)到views页面后格式变为:

array (size=1)
 0 => 
 array (size=2)
 1 => string '1' (length=1)
 2 => string '2' (length=1)

$id数组外层又给套了一个数组....
为何会这样?

补充于 2018-01-18 12:54

return($id) 是原样返回;

默认的 return[$id] 是把$id作为数组成员之一返回,所以外面套了一层。

补充于 2018-01-18 12:54

return($id) 是原样返回;

默认的 return[$id] 是把$id作为数组成员之一返回,所以外面套了一层。

最佳答案

  • 凯凯哥 发布于 2015-05-12 14:36 举报
    $this->render('view', [
        'id' => $id
    ])
    

    render的第二个参数为数组

    1 条回复
    回复于 2015-05-12 14:43 回复

    我提供的$id也是一个数据啊,为何不是直接把$id传过去?

您需要登录后才可以回答。登录 | 立即注册
koko
董事长

koko

注册时间:2015-04-28
最后登录:2023-05-12
在线时长:4334小时42分
  • 粉丝421
  • 金钱33962
  • 威望1105
  • 积分88352

热门问题