6---PHP数组函数

合集下载

PHP求并集,交集,差集

PHP求并集,交集,差集

PHP求并集,交集,差集PHP求并集,交集,差集⼀、总结⼀句话总结:在php中如果我想要对两个数组进⾏如并集、交集和差集操作,我们可直接使⽤php⾃带的函数来操作如array_merge(),array_intersect(),array_diff().> array_merge() array_intersect() array_diff()1、php中如何求并集?> array_merge() +计算数组的合并 array_merge与“+”的区别array_merge() 函数把两个或多个数组合并为⼀个数组。

如果键名有重复,该键的键值为最后⼀个键名对应的值(后⾯的覆盖前⾯的),如果数组是数字索引的,则键名会以连续⽅式重新索引。

注释:如果仅仅向 array_merge() 函数输⼊了⼀个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进⾏重新索引.代码如下:1. $a = array(1 => 'a', 'b', 'c');2. $b = array(1 => 'aa', 2, 'c');3. $union = array_merge($a, $b);4. $plus = $a + $b;5. print_r($union);6. print_r($plus);7. //结果依次为:8. Array9. {10. [0]=> a11. [1]=> b12. [2]=> c13. [3]=> aa14. [4]=> 215. [5]=> c16. }17. Array18. (19. [1] => a20. [2] => b21. [3] => c22. )要合并的两个数组中有相同的字符串键的时候,使⽤array_merge()会覆盖掉原来的值,⽽使⽤“+”合并数组则会和⽤“+”号合并数组相同数字键⼀样把最先出现的值作为最终结果返回,如下例:1. $a2 = array('str' => 'a', 'b', 'c');2. $b2 = array('str' => 'aa', 2, 'c');3. $union2 = array_merge($a2, $b2);4. $plus2 = $a2 + $b2;5. print_r($union2);6. print_r($plus2);7. //结果依次为:8. Array9. (12. [1] => c13. [2] => 214. [3] => c15. )16. Array17. (18. [str] => a19. [0] => b20. [1] => c21. )注:如果想⽤array_merge合并两个数组,返回结果可能还会有相同的元素,这时候可以⽤array_unique()把相同的元素去掉2、php合并 array_merge与“+”的区别是什么?> + 合并索引array_merge() 函数把两个或多个数组合并为⼀个数组。

php获取数组第一个元素以及最后一个元素最后一个元素的键名

php获取数组第一个元素以及最后一个元素最后一个元素的键名

php获取数组第⼀个元素以及最后⼀个元素最后⼀个元素的键名1.获取数组第⼀个元素$tmp = array('a','b','c','d');echo reset($tmp);输出a每个数组中都有⼀个内部的指针指向它的"当前"元素,初始指向插⼊到数组中的第⼀个元素。

end() - 将内部指针指向数组中的最后⼀个元素,并输出next() - 将内部指针指向数组中的下⼀个元素,并输出prev() - 将内部指针指向数组中的上⼀个元素,并输出reset() - 将内部指针指向数组中的第⼀个元素,并输出each() - 返回当前元素的键名和键值,并将内部指针向前移动current() 函数返回数组中的当前元素的值。

<?php$tmp = array('a','b','c','d');echo current($tmp)."\n";echo end($tmp)."\n";echo current($tmp)."\n";reset($tmp);echo current($tmp)."\n";?>输出adda所以,取数据第⼀个元素⽤reset()即可,当⽤current取数组第⼀个元素时最好reset先,因为此时指针不⼀定指向数组中的第⼀个元素。

2.最后⼀个元素 && 最后⼀个元素的键名先⽤end()将内部指针指向数组中的最后⼀个元素,再⽤key()函数返回数组内部指针当前指向元素的键名。

$arr = array(1,2,34,4,5,6,7,3);end($arr);echo key($arr);。

解析PHP中数组元素升序、降序以及重新排序的函数

解析PHP中数组元素升序、降序以及重新排序的函数

解析PHP中数组元素升序、降序以及重新排序的函数⽐如range()函数可以快速创建从1到9的数字数组:复制代码代码如下:<?php$numbers=range(1,9);echo $numbers[1];>当然,使⽤range(9,1)则创建了9到1的数字数组。

同时,range()还可以创建从a到z 的字符数组:复制代码代码如下:<?php$numbers=range(a,z);foreach ($numbers as $mychrs)echo $mychrs." ";>使⽤字符数组时注意⼤⼩写,⽐如range(A,z)和range(a,Z)是不⼀样的。

range()函数还具有第三个参数,该参数的作⽤是设定步长,⽐如range(1,9,3)创建的数组元素是:1、4、7⼀般数组中的各元素均以字符或数字表现的,所以可对数组元素进⾏升序排列,该功能函数为sort()。

⽐如:复制代码代码如下:<?php$people=array('name','sex','nation','birth');foreach ($people as $mychrs)echo $mychrs." ";sort($people);echo "<br />---排序后---<br />";foreach ($people as $mychrs)echo $mychrs." ";>升序排序后的数组元素显⽰为 birth name nation sex,当然,sort()函数是区分字母⼤⼩写的(字母从⼤到⼩的顺序是:A…Z…a…z)Sort()函数还具有第⼆参数,⽤来说明升序的规则是⽤来⽐较数字还是字符串的。

⽐如:复制代码代码如下:<?phpecho "---按数字升序排序---<br />";$num2=array('26','3',);sort($num2,SORT_NUMERIC);foreach ($num2 as $mychrs)echo $mychrs." ";echo "<br />---按字符升序排序---<br />";$num3=array('26','3');sort($num3,SORT_STRING);foreach ($num3 as $mychrs)echo $mychrs." ";>SORT_NUMERIC和SORT_STRING⽤来声明按数字或字符的升序排列。

php取数组数量_PHP如何计算数组中元素的个数

php取数组数量_PHP如何计算数组中元素的个数

php取数组数量_PHP如何计算数组中元素的个数方法1:使用count(函数PHP提供了一个名为count(的函数,该函数可以用来计算数组中元素的个数。

count(函数的语法如下:count(array, mode)其中,array是要计算的数组,mode是一个可选的参数,用于指定计数模式。

示例代码:$fruits = array("apple", "banana", "orange");$count = count($fruits);echo "数组中的元素个数为:" . $count;运行结果:数组中的元素个数为:3方法2:使用sizeof(函数sizeof(函数与count(函数功能相似,可以用来计算数组中元素的个数。

sizeof(函数的语法如下:sizeof(array, mode)其中,array是要计算的数组,mode是一个可选的参数,用于指定计数模式。

示例代码:$fruits = array("apple", "banana", "orange");$size = sizeof($fruits);echo "数组中的元素个数为:" . $size;运行结果:数组中的元素个数为:3方法3:使用foreach循环计数我们还可以使用foreach循环遍历数组,并使用一个变量来计数数组中的元素。

示例代码:$fruits = array("apple", "banana", "orange");$count = 0;foreach($fruits as $fruit)$count++;echo "数组中的元素个数为:" . $count;运行结果:数组中的元素个数为:3方法4:使用array_count_values(函数array_count_values(函数用于统计数组中各个元素的出现次数,并返回一个关联数组,其中键为数组的元素,值为元素出现的次数。

php常用数组函数

php常用数组函数

php常用数组函数PHP是一种广泛使用的服务器端编程语言,它提供了许多强大的函数和工具来处理各种数据类型和数据结构。

在PHP中,数组是一种重要的数据结构,可以容纳多个值,并使用索引或关联键来访问这些值。

在本文中,我们将介绍PHP中常用的数组函数,包括数组创建、添加、删除、排序、查找等操作。

1. array()函数array()函数是PHP中创建数组的一种基本方法。

它用于创建一个数组,并将值分配给该数组。

该函数的语法如下:array(value1, value2, value3, …)其中value1、value2、value3等是待分配给数组的值。

例如,以下代码将创建一个包含3个元素的数组:$arr = array("apple", "orange", "banana");2. count()函数count()函数用于获取数组中元素的数量。

该函数的语法如下:count(array, mode)其中array是要计数的数组,mode是可选参数,用于指定计数模式。

默认情况下,mode为0,表示只计算数组中的元素数量。

例如,以下代码将输出数组$arr的元素数量:echo count($arr);3. array_push()函数array_push()函数用于将一个或多个值添加到数组的末尾。

该函数的语法如下:array_push(array, value1, value2, …)其中array是要添加值的数组,value1、value2等是待添加的值。

例如,以下代码将向数组$arr中添加一个元素:array_push($arr, "pear");4. array_pop()函数array_pop()函数用于从数组末尾删除一个元素,并返回该元素的值。

该函数的语法如下:array_pop(array)其中array是要删除元素的数组。

php执行命令的函数

php执行命令的函数

PHP执行命令的函数在PHP中,有一些特定的函数可以用来执行系统命令。

这些函数可以让我们在PHP 脚本中执行外部命令,并获取其输出结果。

这些函数主要有以下几个:1.exec()函数2.shell_exec()函数3.system()函数4.passthru()函数5.proc_open()函数下面将对每个函数进行详细解释,包括函数的定义、用途和工作方式等。

1. exec()函数定义:exec()函数用于执行一个外部命令,并将结果输出到一个数组中。

用途:exec()函数通常用于执行一些简单的命令,并获取其输出结果。

它可以将命令的输出结果存储到一个数组中,以便后续处理。

工作方式:exec()函数的工作方式如下: - 接收一个命令作为参数,并执行该命令。

- 将命令的输出结果存储到一个数组中。

- 返回命令的执行状态码。

示例代码:$command = 'ls -l';exec($command, $output, $status);在上面的示例中,$command是要执行的命令,$output是一个数组,用于存储命令的输出结果,$status是命令的执行状态码。

2. shell_exec()函数定义:shell_exec()函数用于执行一个外部命令,并将结果作为字符串返回。

用途:shell_exec()函数通常用于执行一些简单的命令,并获取其输出结果。

它可以将命令的输出结果作为一个字符串返回,以便后续处理。

工作方式:shell_exec()函数的工作方式如下: - 接收一个命令作为参数,并执行该命令。

- 将命令的输出结果作为一个字符串返回。

示例代码:$command = 'ls -l';$output = shell_exec($command);在上面的示例中,$command是要执行的命令,$output是命令的输出结果。

3. system()函数定义:system()函数用于执行一个外部命令,并将结果直接输出到屏幕。

PHP函数总结

PHP函数总结

PHP数组相关函数count():获得数组中元素的总个数array_unique():移除数组中重复的值array_keys():获取数组的键(返回数组中部分的或所有的键名) array_values():获取数组的值array_key_exists —检查给定的键名或索引是否存在于数组中array_search():查找元素在数组中的下标。

array_merge—合并一个或多个数组array_merge_recursive递归地合并一个或多个数组array_shift—将数组开头的单元移出数组array_unshift—在数组开头插入一个或多个单元array_map(函数,数组):将数组中的元素依次调用函数() ucfirst —将字符串的首字母转换为大写use():在匿名函数中,将匿名函数外的变量引入到函数内部使用array_sum —计算数组中所有值的和array_count_values —统计数组中所有的值出现的次数array_change_key_case返回字符串键名全为小写或大写的数组array_chunk — [tʃʌŋk]将一个数组分割成多个array_column — ['kɑləm]返回数组中指定的一列array_search($str,$array); //在字符串中查找,返回查找值的下标(在数组中搜索给定的值,如果成功则返回相应的键名) array_rand(数组[,个数])从数组中随机取出下标组成数组(个数默认为1)shuffle():打乱数组的排序list()把数组中的值赋给一些变量,像 array() 一样,这不是真正的函数,而是语言结构[例:list($a,$b)=array(2,1)]rsort —对数组逆向排序sort()根据数组中元素的值,以英文顺序排序,索引键会0到n-1重新编号,主要是当数组索引键的值无关紧要是用来吧数组排序asort()对数组进行排序(对值排序),数组的索引保持和单元的关联,主要用于对那些单元顺序很重要的结合数组进行排序ksort() —对数组按照键名排序(asc)krsort() —对数组按照键名排序(desc)arsort()—对数组进行逆向排序(对值倒序排序)并保持索引关系,本函数对数组进行排序,数组的索引保持和单元的关联。

php相减函数

php相减函数

php相减函数PHP中可以使用`-`运算符进行相减操作,也可以使用`sub(`函数进行相减操作。

使用`-`运算符:```php$num1 = 10;$num2 = 5;$result = $num1 - $num2; // 相减操作echo $result; // 输出结果为 5```使用`sub(`函数:```php$num1 = 10;$num2 = 5;$result = sub($num1, $num2); // 相减操作echo $result; // 输出结果为 5```除了上述方法,还有其他一些可以实现相减操作的函数,如`array_diff(`函数、`bcsub(`函数等。

`array_diff(`函数用于计算数组的差集,参数为两个数组,返回一个新数组,包含在第一个数组中但不包含在其他数组中的元素:```php$array1 = [1, 2, 3, 4];$array2 = [1, 3];$result = array_diff($array1, $array2); // 相减操作print_r($result); // 输出结果为 [2, 4]````bcsub(`函数用于进行任意精度的减法运算,参数为两个数值型字符串和可选的小数位数:```php$num1 = '10';$num2 = '5';$result = bcsub($num1, $num2); // 相减操作echo $result; // 输出结果为 5```以上仅是PHP中相减操作的几种方式,还可以根据实际需求选择更适合的方式进行相减操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1)数组的概念与分类
定义:数组是php中最重要的数据类型之一,在php中的应用非常的广泛。

因为php 是弱类型的编程语言,所以php中的数组变量可以存储任意多个、任意类型的数据。

使用数组的目的,就是将多个相互关联的数据组织到一起,形成一个集合,作为一个单元使用达到批量数据处理的目的。

Php中数组的根据索引来分为关联数组和数字索引数组。

如果一个数组中的索引全部为数字,那么数组就称为数字索引数组。

如果数组中有一个索引为字符串那么数组就称为关联数组。

(2)Php中数组的定义
A.定义方式
(1)使用array()声明
可以用array()语言结构来新建一个数组。

它接受任意数量用逗号分隔的键(key) => 值(value) 对,例如:
<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
其中键可以为整型或字符串型,值可以为任何类型。

如果对给出的值
没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加
一。

如果指定的键名已经有了值,则该值会被覆盖。

(2)使用[]声明
我们可以使用[]来定义和修改数组元素
<?php
$arr[] = 56;
Echo $arr[0];//56
?>
B.对数组元素的操作
(1)追加数组元素(就是在数组的末尾添加数组元素)
$数组名[键名]=值;
(2)更新数组元素
$数组名[键名]=新值;
(3)删除数组元素
Unset($数组名[键名])
(4)在数组头部添加数组元素
Array_unshift($arr, $value),在数组的开头插入一个元素。

(5)在数组的尾部添加数组元素
Array_push($arr, $value1, $value2..),将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素个数。

(6)在数组头部删除元素
Array_shift($arr),将数组的第一个元素移出,并返回此元素
(7)在数组的尾部删除元素
Array_pop($arr);
(3)访问数组的内容
A、使用下标访问
Echo $数组名[键名]
B、使用for循环访问(本方法只适用于数字索引数组)
<?php
For($i=0;$i<count($arr);$i++){
Echo $arr[$i];
}
?>
C、适用foreach循环访问(适用于所有数组)
Foreach(数组名as $key=>$value){
Echo $key."=>".$value;//$key存储当前元素索引,$value存储当前元素}
(4)字符串与数组之间的转换
A.将数组转换为字符串
Implode($separator, $arr)将数组用$separator连接成一个字符串。

B.Explode($separator,$str)将字符串用$separator分割成一个数组。

如果在$str中没有找到$separator,那么将会把整个字符串当成一个数组元素。

(5)多维数组的声明与遍历
A、PHP中可以定义多维数组。

<?php
$arr = array(
…key1‟=> array("foo" => "bar", 12 => true);
);
Var_dump($arr[“key1”]);//输出数组array("foo" => "bar", 12 => true);
Echo $arr[“key1”][“foo”];//输出bar;
?>
B、<?php
$arr=array(
array("香蕉","橘子","苹果"),
"白菜","萝卜"
);
foreach($arr as $value){
if(is_array($value)){
foreach($value as $value1){
echo $value1;
}
}else{
echo $value;
}
}
?>
C、九种系统预定义数组
$GLOBALS —引用全局作用域中可用的全部变量
$_SERVER —服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量
$_ENV —环境变量
$_COOKIE — HTTP Cookies
(6)数组相关处理函数
A、数组的键/值操作函数
Array_keys($arr),获得数组的键名。

Array_values($arr),获得数组的值。

In_array($value, $arr),检索$value是否在$arr中,返回布尔值。

Array_key_exists($key, $arr),检索数组$arr中,是否有$key这个键名。

Array_search($value, $arr), 检索$value是否在$arr中,若存在返回键名。

Array_reverse($arr, true),将一个数组逆向排序,如果第二个参数为true,则保持键名。

Array_flip($arr)交换数组的键和值
B、统计数组元素个数和唯一性
Count($arr)统计数组元素的个数
Array_count_values($arr)统计数组中所有值的出现次数
Array_unique($arr)移除数组中的重复值
C、数组的排序
通过值排序
Sort($arr),由小到大排序。

Rsort($arr),由大到小排序。

Usort($arr, function),使用用户自定义的比较函数排序。

通过键排序
Ksort($arr),由小到大排序
Rksort($arr),由大到小排序。

Uksort($arr, function),使用用户自定义的比较函数排序。

D、其他常用的函数
Array_rand($arr, $num),随机从数组中取得$num个元素。

Shuffle($arr),将数组的顺序打乱。

Array_sum($arr),对数组的所有元素求和。

extract() 将键名变量键值。

相关文档
最新文档