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

    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 )

时间: 2024-08-02 15:10:40

PHP:数组操作函数array_count_values()的实现的相关文章

PHP:常用PHP数组操作函数

php为我们提供了丰富的数组操作函数,用这些函数可以非常方便的实现我们所想实现的功能. 添加和删除数组元素 添加元素的方法 array_unshift(array array,mixed var [,mixed var...]) 在数组头添加元素,所有的数值键会被相应的修改,但关联键不会受到影响 array_push(array array,mixed var [,mixed var.....]) 在数组尾添加元素 删除数组元素的方法 array_shift(array array) 删除数组头

JavaScript中常见的数组操作函数及用法

昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下,这样方便大家准备参考.如果恰好你也在准备各种笔试,希望对你有所帮助.同时,也欢迎补充. 1.数组创建 创建数组应该是最简单的了,有用数组字面量创建和数组构造函数两种方法,见下: var array1 = new Array(); var array2 = []; 上面是创建数组的最常见的两种方法,其中第二种方法因为简单直观而被开发者推崇.其中,

【五】PHP数组操作函数(未完)

1.输出数组的结构:bool print_r(数组); $arr=array('jack','mike','tom'); print_r($arr);//Array ( [0] => jack [1] => mike [2] => tom ) 2.如何声明二位数组? $arr=array('name'=>array('jack','mike'),'sex'=>array('man','woman')); print_r($arr);//Array ( [name] =>

C#二进制字节数组操作函数 截取字节数组SubByte

/// <summary> /// 截取字节数组 /// </summary> /// <param name="srcBytes">要截取的字节数组</param> /// <param name="startIndex">开始截取位置的索引</param> /// <param name="length">要截取的字节长度</param> ///

JavaScript 数组操作函数--转载+格式整理

JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,concat的总结.身为一个有点完美主义的强迫症患者来说,原文的格式,差点杀死我.so,这篇文章就出来了……原文:传送门. 一.push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作. push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度. 注意:如果参数也是

数组操作函数8

range()    生成一个包含指定范围的数组,第三个参数是步长值. array_count_values()    统计数组中键值出现的次数,返回统计的数组 array_pad()    数组的填充函数,类似字符串填充函数str_pad() array_product()    对数组中的键值进行乘积运算,返回数值类型 reset()    将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值 array_push()    数组的入栈,在数组的末端增加个或多个元素 array

量化投资_Multicharts数组操作函数_append()追加函数(自定义)

1. Multicharts中关于数组的操作比较麻烦,而且当中所谓的动态数组的定义并不是像其他语言那种的概念.因此要对数组进行元素“”追加“”的话,需要重新更改数组的索引,然后再最后一个位置添加value.这样操作是比较繁琐而且不清晰的. 2. 但是比如像Python语言中,列表的操作,可以直接采用像 变量.appen(值),这样的方式进行元素的添加,这样非常的方便. 3. append函数,本人把Multicharts中关于数组元素的追加进行封装操作. 4. 原先的设计:采用value1简单的

数组操作函数7!

array_unique()    剔除数组重复项,生成新数组 数组后增加元素--在数组后加个中括号[] array_unshift()    在数组头部插入元素,返回int值 array_shift()    返回删除的元素,从头部开始删除,如果删除失败返回null (如果第一个元素为0时,用is_null()函数判断) array_pop()    从底部删除一个元素. unset()    删除变量(已知数组元素个数) array_keys()    得到数组的键名,并返回以数组形式 ar

字符串、数组操作函数 Copy Concat Delete Insert High MidStr Pos SetLength StrPCopy TrimLeft

对字符串及数组的操作,是每个程序员必须要掌握的.熟练的使用这些函数,在编程时能更加得心应手. 1.Copy 功能说明:该函数用于从字符串中复制指定范围中的字符.该函数有3个参数.第一个参数是数据源(即被复制的字符串),第二个参数是从字符串某一处开始复制,第三个参数是要复制字符串的长度(即个数).最后函数返回一个新的字符串(即是我们指定要复制的字符串内容). 参考实例: var S: String; MyStr: String; // 保存新的字符串 begin S := 'I Love Chin