【问题标题】:How to count numbers of keys in an array of objects [duplicate]如何计算对象数组中的键数[重复]
【发布时间】:2016-05-31 05:32:18
【问题描述】:

我正在使用 laravel 5,我需要计算每个数组索引中可用的键,假设 array[0] 它有 7 个键,现在我需要最后一个键和最后一个键之前的键来比较哪个值更大。到目前为止,我如何使用循环。

请注意,内部键存储为对象键=>值对。

foreach ($regions as $regions_key => $regions_value) {
        echo sizeof($regions_key)
    }

感谢您的帮助。

【问题讨论】:

  • 应该是这个:count(array_keys($arr))
  • 以下网址无法解决我面临的问题..
  • 所有子数组的大小都是一样的,所以你可以这样做$total_keys = count(array_keys($arr)) * count(array_keys($arr[0]))
  • @Saty 你最后的帮助是二维数组,但我在对象值计数方面苦苦挣扎..

标签: php arrays count numbers


【解决方案1】:

你不会在你的循环中计算它吗:

$total = 0;
foreach($data as $sub_array) {
    $total += count($sub_array);
}

完成上述迭代以找到您的计数后,$total 将保留您的计数。

Example/Demo

【讨论】:

  • 如果它被标记为重复而不是为什么回答??
  • @FrayneKonok 看看重复的——那只是一维数组,这个问题是二维的
  • 它给了我外部数组键,我需要每个键之一。
  • 我应该来这里寻求帮助,如果有人不愿意帮助我,那么为什么这个 stackoverflow 的问题确实不重复,我在搜索了很长时间后才在这里发布。跨度>
  • @FrayneKonok 这不是一个坏主意 ;-) 但你不知道 OP 的数组是否都与第一个数组的数量相同!
【解决方案2】:

试试这个:

$countArr = array();
foreach ($regions as $regions_key => $regions_value) {
   $countArr[$regions_key] = count($regions[$regions_key]); // create array of length of sub array
}
echo max($countArr); // max — Find highest value

【讨论】:

  • 如果它被标记为重复而不是为什么回答??
  • 哪里有重复标记??
  • 问题的第一条评论是什么???
  • 如果标记为重复,为什么您在该评论下方回答? :)
  • 你可以查看这些cmets之间的时间.....
【解决方案3】:

计算数组中键的数量。试试

$arr = Array
    (
        0 => 'hello',
        1 => 'there',
        2 => null,
        3 => null,
        4 => 3,
    );
var_dump(count($arr)); 

【讨论】:

  • 感谢每一个人。终于为我工作了$iCount = 0; foreach ($regions as $regions_key => $regions_value) { foreach ($regions_value as $key => $value) { $iCount = count((array)$regions_value); } } echo $iCount;
猜你喜欢
  • 2018-09-22
  • 2018-07-24
  • 2014-02-24
  • 2019-01-12
  • 2021-07-06
  • 1970-01-01
  • 2012-05-19
  • 2018-11-01
  • 2020-12-24
相关资源
最近更新 更多