当前位置:首页 > 技术分析 > 正文内容

PHP数组学习笔记(3)

ruisui881个月前 (05-15)技术分析24

// array_count_values — 统计数组中所有的值

// array_count_values(array $array): array

// array_count_values() 返回一个数组: 数组的键(必须是 int 或 string)是 array 里单元的值; 数组的值是 array 单元的值出现的次数

// $array = array(1, "hello", 1, "world", "hello");

// $values = array_count_values($array);

// Array

// (

// [1] => 2

// [hello] => 2

// [world] => 1

// )

// echo '<pre>';

// print_r($values);

// echo '</pre>';

-------------------------------------------------------------------------------------------------------------------------

// count — 统计数组、Countable 对象中所有元素的数量

// count(Countable|array $value, int $mode = COUNT_NORMAL): int

// 用于数组时,统计数组中元素的数量

// 用于实现了 Countable 接口的对象时,返回 Countable::count() 方法的返回值

// 如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用

// $b[0] = 7;

// $b[5] = 9;

// $b[10] = 11;

// echo count($b);

// 3

// echo count(false); //错误

// echo count(null); //错误

// $a[0] = 1;

// $a[1] = 3;

// $a[2] = 5;

// echo count($a);

// 3

// $food = array(

// 'fruits' => array('orange', 'banana', 'apple'),

// 'veggie' => array('carrot', 'collard', 'pea')

// );

// echo count($food);

// 2

// echo count($food,1);

// 8

// class CountOfMethods implements Countable

// {

// private function someMethod()

// {

// }

// public function count():int

// {

// return count(get_class_methods($this));

// }

// }

// $obj = new CountOfMethods();

// echo count($obj);

// 2

-------------------------------------------------------------------------------------------------------------------------

// array_unique — 移除数组中重复的值

// array_unique(array $array, int $flags = SORT_STRING): array

// array_unique() 接受 array 作为输入并返回没有重复值的新数组

// 注意键名保留不变。如果在指定了 flags 时存在多个相等的元素, 会保留第一个相等的元素的键(key)和值(value)

// SORT_REGULAR - 按照通常方法比较(不修改类型)

// SORT_NUMERIC - 按照数字形式比较

// SORT_STRING - 按照字符串形式比较

// SORT_LOCALE_STRING - 根据当前的本地化设置,按照字符串比较

// $input = array("a" => "green", "red", "b" => "green", "blue", "red");

// $result = array_unique($input);

// Array

// (

// [a] => green

// [0] => red

// [1] => blue

// )

// $input = array(4, "4", "3", 4, 3, "3");

// $result = array_unique($input);

// Array

// (

// [0] => 4

// [2] => 3

// )

// echo '<pre>';

// print_r($result);

// echo '</pre>';

// 注意, array_unique() 不能应用于多维数组

-------------------------------------------------------------------------------------------------------------------------

// count_chars — 返回字符串所用字符的信息

// count_chars(string $string, int $mode = 0): array|string

// 统计 string 中每个字节值(0..255)出现的次数,使用多种模式返回结果

// 0 - 以所有的每个字节值作为键名,出现次数作为值的数组

// 1 - 与 0 相同,但只列出出现次数大于零的字节值

// 2 - 与 0 相同,但只列出出现次数等于零的字节值

// 3 - 返回由所有使用了的字节值组成的字符串

// 4 - 返回由所有未使用的字节值组成的字符串

// $data = 'Hello World.';

// foreach(count_chars($data,1) as $i=>$v)

// {

// chr — 从数字生成单字节字符串

// echo $v .' - '. chr($i).'<br>';

// }

// 1 -

// 1 - .

// 1 - H

// 1 - W

// 1 - d

// 1 - e

// 3 - l

// 2 - o

// 1 - r

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4078.html

分享给朋友:

“PHP数组学习笔记(3)” 的相关文章

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发人员要本地新建分支然后在提交上来列出修改了哪些细节管理员可以管理这些分支合并到master6、指派合...

HTML5学习笔记三:HTML5语法规则

1.标签要小写2.属性值可加可不加””或”3.可以省略某些标签 html body head tbody4.可以省略某些结束标签 tr td li例:显示效果:5.单标签不用加结束标签img input6.废除的标签font center big7.新添加的标签将在下一HTML5学习笔记中重点阐述。...

Python中的11 种数组算法

1. 创建数组 创建数组意味着留出一个连续的内存块来存储相同类型的元素。在大多数语言中,您可以在创建数组时指定数组的大小。假设您正在书架上整理一组书籍,并且您需要为正好 10 本书预留空间。功能架上的每个空间都对应于数组中的一个索引。# Example in Python arr = [1, 2,...

VUE 技术栈

官网链接:https://cn.vuejs.org/什么是vue:渐进式JavaScript 框架vue-cli链接:https://cli.vuejs.org/vue-cli安装:npm install -g @vue/clivue -V创建一个项目:vue create xxxxxx模版语法:文...

基于Spring Cloud+VUE的多租户小程序商城源码「快速二开可商用」

一、系统介绍JooLun平台是一个专注微信快速二开系统研发的平台,采用Java语言开发,使用的是最新微服务前后端分离技术,目前有公众号和小程序商城两个版本,有公众号后台管理、小程序商城。基于Spring Cloud微服务+VUE实现的核心框架多租户小程序商城源码,核心框架采用SpringBoot2+...

「网络」异常网络RST包出现的原因分析

有以下情况会发送RST包1.connect一个不存在的端口;2.向一个已经关掉的连接send数据;3.向一个已经崩溃的对端发送数据(连接之前已经被建立);4.close(sockfd)时,直接丢弃接收缓冲区未读取的数据,并给对方发一个RST。这个是由SO_LINGER选项来控制的;5.a重启,收到b...