【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 求助这段代码的意思 添加图片 apache 崩溃 htmlspecialchars("\\1") 这句失效了。。 我在PHPmyadmin 里直接用SQL语句插入的数据, 取出来显示在网页上是乱码, 为什么 乱码,还是乱码!!!! 关于mediawiki如何实现"->1->2-3"标题导航 php里读写文件可以不输出 \ 吗? 我用的是RedHat8.0,想用PHP发邮件,是不是要配好sendmail才行?? 数据传递 sql 查询的问题 各位前辈,请教一个问题,很烦恼啊 请教插入中文到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