【问题标题】:Wordpress: how to grab an array value from a print_r($object)Wordpress:如何从 print_r($object) 中获取数组值
【发布时间】:2019-02-17 10:52:07
【问题描述】:

在 Wordpress 页面模板中,我正在使用:

<?php
    global $wpdb;
    $sql = "SELECT COUNT(`meta_key`) FROM `wp_usermeta` WHERE `meta_key` = 'mepr-address-state' && `meta_value` = 'NSW';";
    $myrows = $wpdb->get_results($sql);
    print_r($myrows[0]);
?>

这个输出:

stdClass Object ( [COUNT(`meta_key`)] => 764 )

请问如何使用print_r($myrows[0]); 的替代方法仅输出/打印值764

【问题讨论】:

  • echo $myrows[0]-&gt;{"COUNT(meta_key)"} ?
  • @splash58,我收到了Notice: Undefined property: stdClass::$COUNT(meta_key)
  • 好吧,让我们走正路吧,$sql = "SELECT COUNT(meta_key) as cnt FROM...echo $myrows[0]-&gt;cnt;
  • @splash58 在meta_key 周围使用了反引号。你没有。你也可以试试echo current(get_object_vars($myrows[0]))。按照建议使用别名是正确的方法。
  • @revo,是的,错过了反引号

标签: php wordpress object


【解决方案1】:

你可以得到你想要的价值

echo $myrows[0]->{'COUNT(`meta_key`)'};

但我真的建议您将查询更改为类似这样,使用 COUNT(...) 的别名:

$sql = "SELECT COUNT(`meta_key`) AS meta_count FROM `wp_usermeta` WHERE `meta_key` = 'mepr-address-state' && `meta_value` = 'NSW';";

那么你就可以使用

echo $myrows[0]->meta_count;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    相关资源
    最近更新 更多