【ThinkPHP】诡异的现象,$this->rowUser['ext'] = '';无法赋值!但是array_merge 却可以! 赋值无法传递诡异 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正在学习thinkphp中,前排坐等解答 //必须声明这个成员变量[quote=引用 2 楼 nowphp 的回复:]里面加下面这句就ok了 原来这样才可以,我用protected public也可以了。不过很奇怪,为什么直接 $this->rowUser['ext'] = $str无法赋值,可array_merge却可以了。 和访问该类的方法一样$this->方法名 时该类或者继承的类中必须有该方法。 $ar = array('a'=>1,'b'=>2);print_r($ar);$ar['c'] = 3;print_r($ar); 如果你的 UserAction 或其父类中定义有 __set、__get 方法,出现这种情况是很正常的因为他们可能不按常理出牌 同样碰到过这个问题TP在控制器中赋值,其实走的__set方法,被赋值到视图类View的tVar变量中了然后我发现__set魔术方法有个BUG,拦截不到直接对数组属性的某个元素赋值的操作:$this->arr['a'] = 1; 这样在TP中是直接对$this->arr赋值,而我们读取其实都是从$this->view->tVar 帮忙解两个个正则 判断二维数组的key值,只能出现一次 各位帮忙看一下utf-8编码下裁切主题出现乱码 新手问个概念性问题 解释最好的大大分最多 马上给分!!! 自己看vbb3的session处理的心得,写出来希望各位指点。我学php没几天,以前搞VC的。谢谢 PHP电子书 用PHP添加系统用户 UNIX下的php问题! 怎么样将一段文章分段显示? 求教PHP实现排队系统 各位前辈,请教一个问题,很烦恼啊 请教插入中文到MYSQL,但phpmyadmin却显示空白,该怎么办?
quote=引用 2 楼 nowphp 的回复:]
里面加下面这句就ok了
原来这样才可以,我用protected public也可以了。
不过很奇怪,为什么直接 $this->rowUser['ext'] = $str无法赋值,可array_merge却可以了。
$ar = array('a'=>1,'b'=>2);
print_r($ar);
$ar['c'] = 3;
print_r($ar);
因为他们可能不按常理出牌
TP在控制器中赋值,其实走的__set方法,被赋值到视图类View的tVar变量中了
然后我发现__set魔术方法有个BUG,拦截不到直接对数组属性的某个元素赋值的操作:
$this->arr['a'] = 1; 这样在TP中是直接对$this->arr赋值,而我们读取其实都是从$this->view->tVar