可能重复:
PHP类实例化.使用或不使用括号?
我还没有找到任何官方文件.但是,如果一个类是否在没有括号的情况下被实例化并不重要 - 只要没有涉及参数,对吧?
$car = new Car;
Run Code Online (Sandbox Code Playgroud)
要么
$car = new Car();
Run Code Online (Sandbox Code Playgroud)
但是有人能告诉我表现是否存在差异?哪种方式是"更正确"的方式?这是否有官方文件?
我从joomla安装中得到以下错误.
Warning: Creating default object from empty value in /modules/mod_continuous_rss_scrolling/helper.php on line 54
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
有或没有括号,新类似乎没有麻烦.所以,我怀疑括号的用法是什么().我搜索php手册,没有得到它.有人可以解释一下吗?
我已经将 MySQL 查询中的值放入一个数组中,以便我可以对它们进行排序。一切都很好,除了我遇到很多错误
Warning: Creating default object from empty value
Run Code Online (Sandbox Code Playgroud)
这样我就可以根据 post_id 和质量对数组进行排序
$count = 0;
$searcharticles = new stdClass();
$postid = 0;
while ($row = mysqli_fetch_object($result1) ) {
$postid = $row->ID;
$title = $row->post_title;
$titlescore = $row->titlescore;
$quality = $row->quality;
$searcharticles->$postid->post_id =$postid;
$searcharticles->$postid->title =$title;
$searcharticles->$postid->titlescore = $titlescore;
$searcharticles->$postid->quality =$quality;
$count ++;
}
Run Code Online (Sandbox Code Playgroud)
Stackexchange 上的一些帖子指出我应该添加 $searcharticles = new stdClass();
但这并没有解决问题
我希望消除错误,而不仅仅是抑制警告。
有任何想法吗?
注意:我已经阅读了有关如何解决此问题的stackoverflow上的其他主题: 从PHP中的空值创建默认对象?
由于某些原因,我仍然收到警告消息:从空值创建默认对象
我已经尝试了一些方法来纠正警告:
$data = new stdClass();
$data->result->complex->first_key = $old_data->result->complex;
Run Code Online (Sandbox Code Playgroud)
还尝试了:
$data->result->complex = new stdClass();
$data->result->complex->first_key = $old_data->result->complex;
Run Code Online (Sandbox Code Playgroud)
仍然得到警告:从上面新的stdClass()初始化的行号上的空值创建默认对象。
期望的结果: 如何正确初始化新的空对象?