码迷,mamicode.com
首页 > 编程语言 > 详细

PHP:数组操作函数array_count_values()的实现

时间:2016-02-12 17:34:07      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:php数组操作   php   array_count_values()实现   php数组函数   

    PHP作为一门弱类型的脚本语言,其变量无需声明,即用即得,其数组更是与其他强类型语言相差巨大,比如PHP数组中的关联键和数值键,其中最有趣的莫过于关联键了,这是在C++或JAVA中无法见到的,而且PHP还提供诸多强大的数组操作函数,比如

  array_values()//可以剥离数组中的关联键和数值键,或得有其元素的值所组成的数组

  array_keys()//获得所有的关联键和数值键

 利用这两个函数就可以非常方便简单的实现

 array_count_values()函数

 思路就是先用array_values()或得元素值数组

 再将元素值数组作为关联键新建一个数组(当然得先检查该关联键是否存在)

 然后再用foreach循环原来的数组将元素值作为新数组的关联键操作即可

 可能表达的不是很清楚,直接上代码技术分享

 

<?php
//统计数组中数据出现的频率
	function  mycount($arr)
	{
		if(is_array($arr))
		{
			$values = array_values($arr); //取得数组中数值
			
			$count = array();//初始化数组
			
			
			foreach ($values as $value)
			{
				if(!array_key_exists($value,$count))
				{
					//如果键不存在则创建关联键
					$temp = array($value=>0);
					//连接两个数组实际上相当于往里面添加元素
					$count=array_merge($count,$temp);
					
				}
			}
			foreach ($values as $key)
			{
				$count[$key]++;
			}
			return $count;
		}
		return  $arr;

	}
	$a = array("ABC","FUCKYOU","ABC","Dady","PO","Dady","LIN","ABC","LIN","FUCKYOU");
	$a = mycount($a);
	print_r($a);
	
?>

运行结果

Array (    [ABC] => 3    [FUCKYOU] => 2    [Dady] => 2    [PO] => 1    [LIN] => 2 )

本文出自 “Debug Me” 博客,请务必保留此出处http://zaitebie.blog.51cto.com/11179646/1741591

PHP:数组操作函数array_count_values()的实现

标签:php数组操作   php   array_count_values()实现   php数组函数   

原文地址:http://zaitebie.blog.51cto.com/11179646/1741591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!