php内置函数数组函数,PHP内置数组函数十例

1. array_chunk

定义

把数组分割为新的数组块。每个数组的单元数目由 size 参数决定。最后一个数组的单元数目可能会少几个。

可选参数 preserve_key 是一个布尔值,它指定新数组的元素是否有和原数组相同的键(用于关联数组),还是从 0 开始的新数字键(用于索引数组)。默认是分配新的键名。

语法

array_chunk(array,size,preserve_key);

参数

描述

array

必需。规定要使用的数组。

size

必需。整数值,规定每个新数组包含多少个元素。

preserve_key

可选。可能的值:true - 保留原始数组中的键名。false - 默认。每个结果数组使用从零开始的新数组索引。

例子$array=['a','b','c','d','e5'=>'a',[1,2,3,4]];

$arr=array_chunk($array,4);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>Array

(

[0]=>a

[1]=>b

[2]=>c

[3]=>d

)

[1]=>Array

(

[0]=>a

[1]=>Array

(

[0]=>1

[1]=>2

[2]=>3

[3]=>4

)

)

)

2. array_key_exists

定义

检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。

语法

array_key_exists(key,array)

参数

描述

key

必需,规定键名

array

必须,规定数组

例子$array=['a','b','c','d','e5'=>'a',[1,2,3,4]];

var_dump(array_key_exists('e5',$array));

echo'
';

var_dump(array_key_exists('2',$array));

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

//输出结果

booleantrue

booleantrue

3. array_keys

定义

返回包含数组中所有键名的一个新数组

如果提供了第二个参数,则只返回键值为该值的键名

如果 strict 参数指定为 true,则严格检查键值的据类型(例如: 1与”1”是不同的)

语法

array_keys(array,value,strict)

参数

描述

array

必须,规定数组

value

可选,可指定键值然后返回键值对应的键名

strict

可选,与value参数一起使用,为true时对类型精选严格比较

例子$array=['a','b','c','d','e5'=>'a',[1,2,3,4]];

$arr=array_keys($array,'a');

printf('

%s

',print_r($arr,true));

$arr=array_keys($array);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>0

[1]=>e5

)

Array

(

[0]=>0

[1]=>1

[2]=>2

[3]=>3

[4]=>e5

[5]=>4

)

4. array_rand

定义

返回数组中的一个随机键名,也可以指定数量,返回包含随机建名的数组

语法

array_rand(array,number)

参数

描述

array

必须,规定数组

number

可选,规定返回多少个随机元素

例子$array=['a','b','c','d','e5'=>'a',[1,2,3,4]];

$arr=array_rand($array);

printf('

%s

',print_r($arr,true));

$arr=array_rand($array,3);

printf('

%s

',print_r($arr,true));

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

//输出结果

4

Array

(

[0]=>0

[1]=>2

[2]=>3

)

5. array_merge

定义

把一个或多个数组合并为一个数组并返回

索引数组键名相同时不会被合并成数组,而是被排序到数组的尾部

关联数组键名相同时,最后的元素会覆盖其他元素

语法

array_merge(array1,array2,array3...)

参数

描述

array1

必需,规定数组

array2

可选,规定数组

array3

可选,规定数组

例子$array=['a','b','a'=>[1,2,'z'=>3,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'yy',564,'a'=>[1,2,'z'=>3,'a','b','c']];

$arr=array_merge($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>a

[1]=>b

[a]=>Array

(

[0]=>1

[1]=>2

[z]=>3

[2]=>a

[3]=>b

[4]=>c

)

[y2]=>yy

[2]=>d

[e5]=>123

[3]=>s

[4]=>564

)

6. array_merge_recursive

定义

把一个或多个数组合并为一个数组并返回

索引数组键名相同时不会被合并成数组,而是被排序到数组的尾部

关联数组键名相同时,会把对应的键值合并成索引数组

该函数与 array_merge() 函数的区别在于处理多维数组会对元素进行覆盖

语法

array_merge_recursive(array1,array2,array3...)

参数

描述

array1

必须,规定数组

array2

可选,规定数组

array3...

可选,规定数组

例子$array=['a','b','a'=>[1,2,'z'=>3,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'yy',564,'a'=>[1,2,'z'=>3,'a','b','c']];

$arr=array_merge_recursive($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>a

[1]=>b

[a]=>Array

(

[0]=>1

[1]=>2

[z]=>Array

(

[0]=>3

[1]=>3

)

[2]=>4

[3]=>1

[4]=>2

[5]=>a

[6]=>b

[7]=>c

)

[y2]=>Array

(

[0]=>c

[1]=>yy

)

[2]=>d

[e5]=>Array

(

[0]=>a

[1]=>123

)

[3]=>s

[4]=>564

)

7. array_replace

定义

使用后面数组的值替换第一个数组的值,返回被替换的数组

如果传递了多个替换数组,它们将被按顺序依次处理,后面数组的值将覆盖之前数组的值

语法

array_replace(array1,array2,array3...)

参数

描述

array1

必需,指定一个数组

array2

可选,指定一个要替换 array1 的值的数组

array3,...

可选,指定多个要替换 array1 和 array2, … 的值的数组,后面数组的值将覆盖之前数组的值

例子$array=['a','b','a'=>[1,2,'a6'=>666,'z'=>9,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'yy',564,'a'=>[1,2,'z'=>3,'a','b','c']];

$arr=array_replace($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>s

[1]=>564

[a]=>Array

(

[0]=>1

[1]=>2

[z]=>3

[2]=>a

[3]=>b

[4]=>c

)

[y2]=>yy

[2]=>d

[e5]=>123

)

8. array_replace_recursive

定义

递归地使用后面数组的值替换第一个数组的值,返回被替换的数组

该函数与array_replace()的区别是

array_replace 不会处理二级,只会把VALUE看成一个整体

array_replace_recursive会对多维数组进行操作

语法

array_replace_recursive(array1,array2,array3...)

参数

描述

array1

必需,指定一个数组

array2

可选,指定一个要替换 array1 的值的数组

array3,...

可选,指定多个要替换 array1 和 array2, … 的值的数组,后面数组的值将覆盖之前数组的值

例子$array=['a','b','a'=>[1,2,'a6'=>666,'z'=>9,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'yy',564,'a'=>[1,2,'z'=>3,'a','b','c']];

$arr=array_replace_recursive($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>s

[1]=>564

[a]=>Array

(

[0]=>1

[1]=>2

[a6]=>666

[z]=>3

[2]=>a

[3]=>b

[4]=>c

)

[y2]=>yy

[2]=>d

[e5]=>123

)

9 array_diff_key

定义

使用键名比较计算数组的差集

根据 array1 中的键名和 array2 进行比较,返回不同键名的数组

语法

array_diff_key(array1,array2)

参数

描述

array1

必需,指定一个数组

array2

可选,指定一个要在 array1 内去除的元素的数组

例子$array=['a','b','a'=>[1,2,'a6'=>666,'z'=>9,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'yy',564,'a'=>[1,2,'z'=>3,'a','b','c']];

$arr=array_diff_key($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[2]=>d

)

10 array_diff_assoc

定义

带索引检查计算数组的差集

返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值

语法

array_diff_assoc(array1,array2)

参数

描述

array1

必需,指定一个数组

array2

可选,指定一个要在 array1 内去除的元素的数组

例子$array=['a','b','a'=>[1,2,'a6'=>666,'z'=>9,4],'y2'=>'c','d','e5'=>'a'];

$array2=['e5'=>'123','s','y2'=>'c',564,'a'=>[1,2]];

$arr=array_diff_assoc($array,$array2);

printf('

%s

',print_r($arr,true));

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

//输出结果

Array

(

[0]=>a

[1]=>b

[2]=>d

[e5]=>a

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于C++&OPENCV 的全景图像拼接 C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向对象编程和泛型编程的支持。C++支持数据封装、继承和多态等面向对象编程的特性和泛型编程的模板,以及丰富的标准库,提供了大量的数据结构和算法,极大地提高了开发效率。12 C++是一种静态类型的、编译式的、通用的、大小写敏感的编程语言,它综合了高级语言和低级语言的特点。C++的语法与C语言非常相似,但增加了许多面向对象编程的特性,如类、对象、封装、继承和多态等。这使得C++既保持了C语言的低级特性,如直接访问硬件的能力,又提供了高级语言的特性,如数据封装和代码重用。13 C++的应用领域非常广泛,包括但不限于教育、系统开发、游戏开发、嵌入式系统、工业和商业应用、科研和高性能计算等领域。在教育领域,C++因其结构化和面向对象的特性,常被选为计算机科学和工程专业的入门编程语言。在系统开发领域,C++因其高效性和灵活性,经常被作为开发语言。游戏开发领域中,C++由于其高效性和广泛应用,在开发高性能游戏和游戏引擎中扮演着重要角色。在嵌入式系统领域,C++的高效和灵活性使其成为理想选择。此外,C++还广泛应用于桌面应用、Web浏览器、操作系统、编译器、媒体应用程序、数据库引擎、医疗工程和机器人等领域。16 学习C++的关键是理解其核心概念和编程风格,而不是过于深入技术细节。C++支持多种编程风格,每种风格都能有效地保证运行时间效率和空间效率。因此,无论是初学者还是经验丰富的程序员,都可以通过C++来设计和实现新系统或维护旧系统。3

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值