ThinkPHP使用volist模板赋值问题
程序员文章站
2022-05-08 12:13:45
...
今天看代码遇到个问题,给模板赋值是用
但是我遇到了变量名好像不一样啊。
这个多出来的.main是个啥?新人求解答
对啊,是数组,那不是应该直接把数组里的挨个取出来吗?__MENU__是表示整个数组啊。
我试着这么理解您看对不对哈。
getMenus()返回的数组里面,只把键为[main]的一组进行循环赋值。
0~懂了,
那为什么不写成
若小php5.4版本
就这样
assign('变量名','变量值')完成的吧,模板那边
xxx
但是我遇到了变量名好像不一样啊。
$this->assign('__MENU__', $this->getMenus());
这个多出来的.main是个啥?新人求解答
回复讨论(解决方案)
相当于__MENU__['main'],它应该是个数组,就是你用$this->getMenus()获取到的
相当于__MENU__['main'],它应该是个数组,就是你用$this->getMenus()获取到的
对啊,是数组,那不是应该直接把数组里的挨个取出来吗?__MENU__是表示整个数组啊。
我试着这么理解您看对不对哈。
getMenus()返回的数组里面,只把键为[main]的一组进行循环赋值。
__MENU__是一个数组,__MENU__.main也就相当于__MENU__['main']
再说的明白一点,假设数组$a=array('main'=>array(1,2,3)),$a.main也就是$a['main'],也就是array(1,2,3)。
__MENU__是一个数组,__MENU__.main也就相当于__MENU__['main']
再说的明白一点,假设数组$a=array('main'=>array(1,2,3)),$a.main也就是$a['main'],也就是array(1,2,3)。
0~懂了,
那为什么不写成
assign(__MENU__,getMenus().main)php可以这样写不。。。?
php5.4+ 可以这样
assign(__MENU__,getMenus()['main'])
若小php5.4版本
就这样
$tmp=getMenus();assign(__MENU__,$tmp['main'])
下一篇: 获取本机外网ip地址的老问题