- foreach ($cats as $cat)
- {
- if($wp_version >= 2.1) {
- //var_dump($cat);
- $num_links[$cat['link_category']] = $cat->link_count;
- }
- else {
- $num_links[$cat['link_category']] = $wpdb->get_results("SELECT count(*) FROM `$wpdb->links` WHERE link_category = " . $cat['link_category'], ARRAY_A);
- }
- }
报错的就是第5行
- $num_links[$cat['link_category']] = $cat->link_count;
原因是用foreach取出来的$cat变量是一个Object,而不是Array,所以无法用上述方法调用,从而抛出”Cannot use object of type stdClass as array in XXX”的异常。
解决办法是用访问对象属性的方法,将$cat[’link_category’]改为$cat->link_category就可以解决问题。Durable报错都是因为这个问题
因为我只在PHP5里做过测试,所以不知道PHP4是否也有类似情况出现。