【问题标题】:Getting 50 records from array php从数组php获取50条记录
【发布时间】:2017-11-04 08:32:07
【问题描述】:

我有一个 json 文件,我将其转换为数组,然后尝试从数组中获取 50 个元素。

但由于某种原因,我的代码无法正常工作,它抛出了 212 个元素而不是 50 个

请看我下面的代码:

$json_file = file_get_contents("/directory/jsonfile.json");
$json_data = json_decode($json_file, true);
$json_data = array_slice((array)$json_data, 0, 50);
print_r (array_count_values($json_data)); // this still showing 212 results

【问题讨论】:

  • 你确定,array_count_values 是你想要的,而不仅仅是 count
  • 我很难相信在没有看到实际输入 $json_data 的情况下向您显示 212 results 的内容
  • 为什么要将$json_data 转换为数组?已经是一个数组了。

标签: php arrays json slice


【解决方案1】:

count() 返回一个 INT,其中 array_count_values() 返回一个 ARRAY。

您似乎需要count() 来获取数组元素的计数。

PHP: array-count-values

PHP: count

【讨论】:

  • 感谢您的帮助,当我尝试使用 count() 时,它显示 50,这很好,但是当我确实像这样“print_r($json_data)”输出整个数组时,它显示了所有 212结果。我只想在 slice() 之后显示 50 条记录而不是 212 条?
  • @mak 看起来像,你有一个嵌套数组,第一层的 50 个项目中的每一个都有大约 4-5 个项目。
  • @Philipp 所以我的主要目标是将 json 文件转换为数组,然后从数组中选择最新的 50 个项目,然后将其转换为 xml。这是我想要实现的代码:但我总是得到 212 个结果。 stackoverflow.com/questions/44334426/…
猜你喜欢
  • 2017-05-23
  • 2015-06-27
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多