繁体   English   中英

PHP-计算数组中值的数量

[英]php - counting number of values in an array

我目前正在尝试计算一个特定价格范围内有多少个属性,并且我正在运行的查询仅返回值1。显然我做错了-这并不能帮助MySQL / PhP精明..有人愿意帮忙吗?

查询如下:

    $apart = $wpdb->get_var("SELECT m1.post_id
    FROM hj_postmeta m1
    INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
    WHERE m1.meta_key = 'price'
    AND m1.meta_value
    BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
    AND m2.meta_value = 'apartment'");

$apartprice = count($apart); 

提前谢谢了。

使用get_results作为get_var 函数从数据库返回一个变量

$apart = $wpdb->get_results("SELECT m1.post_id
    FROM hj_postmeta m1
    INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
    WHERE m1.meta_key = 'price'
    AND m1.meta_value
    BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
    AND m2.meta_value = 'apartment'");

$apartprice = count($apart); 

或COUNT个都使用get_var

$apart = $wpdb->get_var("SELECT COUNT(m1.post_id)
    FROM hj_postmeta m1
    INNER JOIN hj_postmeta m2 ON m1.post_id = m2.post_id
    WHERE m1.meta_key = 'price'
    AND m1.meta_value
    BETWEEN 50000 AND 74999 AND m2.meta_key = 'property_type'
    AND m2.meta_value = 'apartment'");

$apartprice = $apart;

只要您直接对行数感兴趣:

$apart = $wpdb->get_var("....");
$apartprice = $wpdb->num_rows;

但是,我认为Mihai Iorga的答案提出了两个很公平的观点,如果您需要获取所有数据或(实际上,也正如juergen d所评论的那样)数据库中的计数(如果您实际上不处理该变量旁边的结果集)的话,会提出两个非常公平的观点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM