PHP:第四章——PHP数组转换,统计,相关函数
<pre>
<?php
//数组转换,统计,相关函数
header("Content-Type:text/html;charset=utf-8");
//count();计算数组的单元数目。别名:sizeof();
//例:
/*$arr=array(2,4,6);
echo count($arr);//输出:3
*/ //array_change_key_case 返回字符串键名全为大写或是小写的数组。
/*原形:array array_flip ( array $trans )
功能:返回一个反转后的 array。例如 trans 中的键名变成了值,而 trans 中的值成了键名。
注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。
如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
*/ //默认是小写,加上CASE_UPPER全为大写。
/*$arr=array('First'=>1,'Second'=>2);
$arr2=array_change_key_case($arr,CASE_UPPER);
print_r($arr2);//输出数组$arr2,键名全是大写字母。
*/ //array_flip() 交换数组中的键和值。返回反转后的数组。
/*$a=array('First'=>1,'Second'=>2);
$b=array_flip($a);
print_r($b);*/
/*
输出:
Array
(
[1] => First
[2] => Second
)
*/ //array_column();返回数组中指定的一列
/*函数原形:array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
参数说明:
input 需要取出数组列的多维数组(或结果集)
column_key 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
index_key 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
返回值:从多维数组中返回单列数组*/ //例:提前老师的姓
/*$records = array(
array(
'id' => 2135,
'first_name' => '张',
'last_name' => '老师',
),
array(
'id' => 3245,
'first_name' => '王',
'last_name' => '老师',
),
array(
'id' => 5342,
'first_name' => '李',
'last_name' => '老师',
),
array(
'id' => 5623,
'first_name' => '赵',
'last_name' => '老师',
)
);
$first_name=array_column($records,'first_name');
print_r($first_name);*/
/*
输出:
Array
(
[0] => 张
[1] => 王
[2] => 李
[3] => 赵
)
*/
//用firt_name作为值,用id作为键,输出新的数组。
/*$first_name2=array_column($records,'first_name','id');
print_r($first_name2);*/
/*
输出:
Array
(
[2135] => 张
[3245] => 王
[5342] => 李
[5623] => 赵
)
*/ //array_combine()创建一个一个数组,用一个数组作为键,另一个数组作为值。
/*函数原形:array array_combine ( array $keys , array $values )
功能:返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。
注意:返回合并的 array,如果两个数组的单元数不同则返回 FALSE。
*/
//例:
/*$arr1=array('羊','狗','鱼');
$arr2=array('草','肉','水');
$arr3=array_combine($arr1,$arr2);
print_r($arr3);*/
/*输出:
Array
(
[羊] => 草
[狗] => 肉
[鱼] => 水
)
*/ //array_count_values()统计数组中所有值出现的次数。
/*函数原形:array array_count_values ( array $input )
array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值*/
//例:
/*$arr=array('Hello','women','Hello','Hello','mon','women');
print_r(array_count_values($arr));*/
/*
输出:
Array
(
[Hello] => 3
[women] => 2
[mon] => 1
)
*/ //array_sum — 计算数组中所有值的和
/*原形:number array_sum ( array $array )
功能:将数组中的所有值的和以整数或浮点数的结果返回。
说明:如果数组的值不是数值型,会按强制转换原则进行转换。
代码示例:统计购物车中所有商品总价*/
/*$a=array(2,3,4,5);
$b=array_sum($a);
print_r($b);*/
//输出:14 //array_product 计算数组中所有元素的乘积
/*原形:number array_product ( array $array )
功能:array_product() 以整数或浮点数返回一个数组中所有值的乘积。
代码示例:本函数实用价值不强,了解即可
*/
/*$arr=range(1,5);
$b=array_product($arr);
print_r($b);//输出:120*/ //array_fill — 用给定的值填充创建数组
/*原形:array array_fill ( int $start_index , int $num , mixed $value )
功能:用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。
参数说明:
如果 start_index 是负数, 那么返回的数组的第一个索引将会是 start_index ,而后面索引则从0开始。
插入元素的数量。 必须大于 0。
返回:填充后的数组,如果 num 少于一个,将会抛出 E_WARNING。 */ /*$a = array_fill(5, 6, 'banana');
$b = array_fill(-2, 4, 'pear');
print_r($a);
print_r($b);*/
/*
输出:
Array ( [5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana )
Array ( [-2] => pear [0] => pear [1] => pear [2] => pear )
*/ /*array_fill_keys — 使用指定的键和值填充数组。 了解即可
原形:array array_fill_keys ( array $keys , mixed $value )
使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。
*/ /*$keys = array('D', 5, 10, 'L');
$a = array_fill_keys($keys, '中国');
print_r($a);//结果:Array ( [D] => 中国 [5] => 中国 [10] => 中国 [L] => 中国 ) */ //array_pad 用值将数组填补到指定长度(了解即可)
/*原形:array array_pad ( array $input , int $pad_size , mixed $pad_value )
array_pad() 返回 input 的一个拷贝,并用 pad_value 将其填补到 pad_size 指定的长度。如果 pad_size 为正,则填补到数组的右侧,如果为负则从左侧开始填补。如果 pad_size 的绝对值小于或等于 input 数组的长度则没有任何填补。有可能一次最多填补 1048576 个单元。 */
/*$input = array(12, 10, 9);
$result = array_pad($input, 5, 0);
//结果:array(12, 10, 9, 0, 0)*/ //array_reverse — 返回一个单元顺序相反的数组
/*原形:array array_reverse ( array $array [, bool $preserve_keys = false ] )
功能:array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组。
参数说明:preserve_keys 如果设置为 TRUE 会保留数字的键。
非数字的键则不受这个设置的影响,总是会被保留。
*/ /*$a= array('D' => '中', '美', '日');
$b = array_reverse($a);
print_r($b);*/
/*输出: Array( [0] => 日 [1] => 美 [D] => 中) */ //array_keys — 返回数组中部分的或所有的键名
/*原形:array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] )
功能:array_keys() 返回 input 数组中的数字或者字符串的键名。
如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。
参数说明:
search_value 如果指定了这个参数,只有包含这些值的键才会返回。
strict 判断在搜索的时候是否该使用严格的比较(===)。
*/
$a = array('x' => 'a', 'y' => 'b','d' => 'c', 'l' => 'd');
$b = array_keys($a);
print_r($b);
//提取键形成新数组 array ( 0 => 'x', 1 => 'y', 2 => 'd', 3 => 'l') /*
array_values — 返回数组中所有的值
原形:array array_values ( array $input )
功能:array_values() 返回 input 数组中所有的值并给其建立数字索引。
*/
/*$a = array('d' => '中', 'l' => '德','x' => '法', 'y' => '英');
$b = array_values($a);
print_r($b);*/
//结果: Array ( [0] => 中 [1] => 德 [2] =>法 [3] =>英 )
?>
PHP:第四章——PHP数组转换,统计,相关函数的更多相关文章
- PHP:第四章——PHP数组处理函数
<pre> <?php //数组处理函数 header("Content-Type:text/html;charset=utf-8"); //compact(); ...
- PHP:第四章——PHP数组查找,替换,过滤,判断相关函数
<pre> <?php //查找,替换,过滤,判断相关函数 header("Content-Type:text/html;charset=utf-8"); /*知 ...
- PHP:第四章——PHP数组添加,删除,插入,分割,合并,及运算符
<pre> <?php header("Content-Type:text/html;charset=utf-8"); /*知识点一:赋值运算符 = 代码示例:数 ...
- 自学Java第四章——《数组》
4.1 数组的相关概念和名词(了解) 1.数组(array): 一组具有相同数据类型的数据的按照一定顺序排列的集合. 把有限的几个相同类型的变量使用一个名称来进行统一管理. 2.数组名: (1)这个数 ...
- PHP:第四章——PHP数组array_intersect计算数组交集
<pre> <?php //array_intersect计算数组交集 header("Content-Type:text/html;charset=utf-8" ...
- PHP:第四章——PHP数组array_diff计算数组差集
<pre> <?php header("Content-Type:text/html;charset=utf-8"); /*知识点一:array_diff — 计 ...
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算
<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...
- perl5 第四章 列表和数组变量
第四章 列表和数组变量 by flamephoenix 一.列表二.数组--列表的存贮 1.数组的存取 2.字符串中的方括号和变量替换 3.列表范围 4.数组的输出 5.列表/数组的长度 ...
随机推荐
- SYSBIOS学习笔记---线程(Threads)
在SYS/BIOS中,广义上指被处理器执行的任何独立的指令流.线程是一个能够调用一个函数或者中断服务程序的单点控制.在sysbios系统中一共有硬件中断(HWI).软件中断(SWI).任务(Task) ...
- JAVA I/O(五)多线程网络Socket和ServerSocket
上篇文章介绍了Socket和ServerSocket简单使用和源码,服务器端会对每个客户端请求创建一个线程,为使服务器端能同时处理多个客户端请求,可以采用多线程的方式.本文仅对实例进行简单记录,如下. ...
- cogs 362. [CEOI2004]锯木厂选址
★★★ 输入文件:two.in 输出文件:two.out 简单对比 时间限制:0.1 s 内存限制:32 MB 从山顶上到山底下沿着一条直线种植了n棵老树.当地的政府决定把他们砍下来. ...
- Go第八篇之包的使用
Go 语言的源码复用建立在包(package)基础之上.Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,必须同样以包的方式进行引用,本章内容将 ...
- redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis
自定义安装目录并安装 1.mkdir /usr/local/redis 2.下载redis到 /usr/local/src/,解压,进入解压后的目录 3.安装到指定目录 make PREFIX=/us ...
- LeetCode——Find Bottom Left Tree Value
Question Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input: ...
- [shiro] - 怎样使用shiro?
shiro是什么? Shiro是apache旗下的一个开源框架, 它将软件系统的安全认证相关的功能抽取出来, 实现用户身份认证, 权限授权, 加密, 会话管理等功能, 组成一个通用的安全认证框架. 为 ...
- Unity3D学习笔记(十七):IK动画、粒子系统和塔防
新动画系统: 反向动力学动画(IK功能): 魔兽世界(头部动画),神秘海域(手部动画),人类一败涂地(手部动画) 如何启用(调整) 1.必须是新动画系统Animator 设置头.手.肘的目标点 2.动 ...
- 用jQuery实现ajax总结以及跨域问题
本文为作者原创,未经博主允许,不可转载 ajax请求的常用的参数设置: type:请求类型,"POST","GET",默认为geturl:发送请求的地址data ...
- CSAPP学习笔记 第一章 计算机系统漫游
Ch 1.0 1.计算机系统是由硬件和系统软件组成的 2.本书阐述了计算机组件是如何工作的以及执行组件是如何影响程序正确性和性能的. 3.通过跟踪hello程序的生命周期来开始对系统的学习. #inc ...