PHP 计算对象属性出现次数

发布于 2024-11-14 12:29:03 字数 624 浏览 3 评论 0原文

我有一个如下所示的 PHP 对象,我想知道获取属性 'typeId' = 3 的对象计数的最简单方法是什么

Array
(
    [0] => ABC Object
        (
            [id] => 13
            [typeId] => 3
            [sortOrder] => 0
        )
    [1] => ABC Object
        (
            [id] => 12
            [typeId] => 2
            [sortOrder] => 0
        )
    [2] => ABC Object
        (
            [id] => 14
            [typeId] => 4
            [sortOrder] => 0
        )
    [3] => ABC Object
        (
            [id] => 15
            [typeId] => 3
            [sortOrder] => 0
        )
)

I have a PHP object like below and all I want to know whats the the easiest way to get a count of objects where the property 'typeId' = 3

Array
(
    [0] => ABC Object
        (
            [id] => 13
            [typeId] => 3
            [sortOrder] => 0
        )
    [1] => ABC Object
        (
            [id] => 12
            [typeId] => 2
            [sortOrder] => 0
        )
    [2] => ABC Object
        (
            [id] => 14
            [typeId] => 4
            [sortOrder] => 0
        )
    [3] => ABC Object
        (
            [id] => 15
            [typeId] => 3
            [sortOrder] => 0
        )
)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

安稳善良 2024-11-21 12:29:03

一个简单的 foreach 计数器应该可以做到:

$count = 0;
foreach ($array as $object) {
    if ($object->typeId == 3) $count++;
}

不需要使事情过于复杂

A simple foreach counter should do:

$count = 0;
foreach ($array as $object) {
    if ($object->typeId == 3) $count++;
}

No need to over complicate things

秋心╮凉 2024-11-21 12:29:03

从我的角度来看,一个更好的解决方案是使用 array_filter 函数:(

$newarray = array_filter( $old_array, function($object) { return $object->typeId == 3; } );

注意:内联函数仅从 PHP 5.3 开始工作)

From my point of view, a much nicer solution is to use the array_filter function:

$newarray = array_filter( $old_array, function($object) { return $object->typeId == 3; } );

(note: inline functions only work since PHP 5.3)

乄_柒ぐ汐 2024-11-21 12:29:03

只需创建一个名为 objectCount 或类似变量的临时变量,循环遍历数组,当找到 typeId 等于 3 的对象时,将 1 添加到 objectCount 中。

Just create a temporary variable called objectCount or something similar, loop through your array and when you find an object where the typeId equals 3 add 1 to objectCount.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文