【发布时间】:2011-07-21 08:13:17
【问题描述】:
我有 F8 之类的 json 文件,我想在一个数组中存储和计算类别,即 php 中的简单数组
函数 array_icount_values($array) { $rtarray = 数组(); foreach($array as $value) $rtarray[strtolower($value)]++; 返回 $rtarray; $ar = array('red', 'green', 'blue', 'red', 'red', 'red', 'blue', 'blue', 'green'); //$ar = array_icount_values($re);它的输出将是
[红色]=>4 [蓝色]=>3 [绿色]=>2我想要这个文件的相同结果
{ “数据”: [ { “名称”:“指环王三部曲(官方页面)”, “类别”:“电影” }, { “名称”:“抢夺”, “类别”:“电影” }, { "name": "社交网络电影", “类别”:“电影” }, { "name": "疤面煞星", “类别”:“公众人物” }, {“名称”:“约翰尼·德普”, “类别”:“演员/导演” }, { "name": "西部往事", “类别”:“公众人物” }, { "name": "守护者传说:加胡尔的猫头鹰", “类别”:“公众人物” }, { "name": "美国往事", “类别”:“公众人物” }, {“名称”:“布奇卡西迪和圣丹斯小子”, “类别”:“公众人物” }, {“名称”:“骨折”, “类别”:“公众人物” }, { "name": "Invictus", “类别”:“公众人物” }, { "name": "骄傲与荣耀", “类别”:“公众人物” } ] }注意我只想要类别计数,即
[电影]=>5 [电视节目]=>4 等等我使用了这段代码
function array_icount_values($array) {
$ret_ar=数组();
foreach($array['data'] as $key=>$val)
{
print_r(array_count_values($val));
}}
$string = file_get_contents("likes.json");
$json_a=json_decode($string,true);
$re=array_icount_values($json_a); 但这给出了奇怪的结果。
【问题讨论】:
-
解码 json +
foreach($array as $value) $rtarray[strtolower($value['category'])]++;