小编Adr*_*iik的帖子

PHP - 计算满足条件的数组的所有元素

可能重复:
搜索包含字符串的PHP数组元素

我已经创建了一个mysql查询,它可以浏览多个产品,所有产品都包含以下信息:

产品ID产品名称产品价格和产品类别

在页面的下方,我通过foreach和一些'ifs'循环使用这些,所以它只显示那些名称在一个div中包含'x'的产品,并在另一个div中显示名称包含'y'的那些产品.

在进行循环之前,我很难计算每个div中会有多少产品.

基本上,我要问的是:

如何计算满足特定条件的数组中的所有元素?

添加了显示循环的代码:

<div id="a">
    <?php
    $i = 1;
    foreach ($products AS $product) {
        if (strpos($product->name,'X') !== false) {
            =$product->name
        }
        $i++;
    } ?>
</div>

<div id="b">
    $i = 1;
    foreach ($products AS $product) {
        if (strpos($product->name,'Y') !== false) {
            =$product->name
        }
        $i++;
    } ?>
</div>
Run Code Online (Sandbox Code Playgroud)

在我实际进行循环之前,我想知道其中有多少会在这里.

php arrays

7
推荐指数
1
解决办法
1万
查看次数

获取每组的计数,但在每组中的 N 个结果行后停止计数

我正在尝试优化一个查询,该查询(不必要地)计算了表中近 900 000 行,这需要太长时间。

该表包含发生在 Web 应用程序不同部分的事件的日志条目,我想知道当该类型的行数为 1000 或更少时每种日志类型存在多少未读日志条目,但最多计数 1001 行如果计数为 1001 或更多。

之后我不需要再计算了,我只会为该日志类型输出“超过 1000”。

假设我们有下表调用my_logs了数据:

id    log_type    log_text   is_read
1     'Type 1'    'Text 1'   1
2     'Type 1'    'Text 2'   1
3     'Type 1'    'Text 3'   0
4     'Type 1'    'Text 4'   0
5     'Type 1'    'Text 5'   0
6     'Type 1'    'Text 6'   0
7     'Type 2'    'Text 7'   0
8     'Type 2'    'Text 8'   0
Run Code Online (Sandbox Code Playgroud)

在此示例中,我当前的查询如下所示:

SELECT log_type, COUNT(*) AS unread FROM my_logs WHERE is_read …

mysql mariadb

5
推荐指数
1
解决办法
162
查看次数

标签 统计

arrays ×1

mariadb ×1

mysql ×1

php ×1