【问题标题】:Count of array values数组值的计数
【发布时间】:2017-11-06 06:41:14
【问题描述】:

需要数组中值的精确计数。
我的结果是:

stdClass Object ( [employee] => ["1","2"] )

我希望计数值为 2。可以吗?

我的 laravel 查询:

$work = DB::table('workingdat')
            ->select(DB::raw('employee'))
            ->get();
            $work->toArray($work);
            print_r($work);

我将 JSON 数据存储在表中的雇员列下。
示例:["1","2"]

【问题讨论】:

  • 计数值为 2 是什么意思?您可以让count() 计算总值
  • 有一个count($classInstance->employee)函数。

标签: php arrays


【解决方案1】:

将你的对象转换成数组,然后使用php的count()函数 例如:

$arr = array($your_object);
echo count($arr);

【讨论】:

  • 结果为 1... 我希望结果为 2。基于该数组中的两个值
  • 请确保您输入了对象并请提交您的代码,以便更清楚地理解
  • 好的,我会在我的问题中添加我的查询
【解决方案2】:

首先,您必须将您的 abject 类型转换为一个数组。

$array =  (array) $yourObject;

也请参考此链接:http://www.php.net/manual/en/language.types.array.php

在类型转换之后,您可以像这样计算数组值。

echo $total = count($array['employee']);

【讨论】:

    【解决方案3】:

    如果你有这个对象,如你的问题所示。

    <?php
    $object = new StdClass();
    $object->employee = array(1, 2);
    

    你可以这样得到计数:

    <?php
    $count = count($object->employee); // 2
    

    【讨论】:

    • stdClass 对象 ( [employee] => Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => stdClass Object ( [employee] => ["1", "2"] ) ) ) )
    • @LingamDiaz 我明白了。所以它不是一个 StdClass 对象,它是 Laravel 中的一个支持集合,并且项目是受保护的。要获得计数,只需使用count() 方法。见:laravel.com/api/5.5/Illuminate/Support/…
    • $object-&gt;employee-&gt;count()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2021-01-14
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    相关资源
    最近更新 更多