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中相减操作的几种方式,还可以根据实际需求选择更适合的方式进行相减操作。

php数组函数array_key_exists()小结

php数组函数array_key_exists()小结

php数组函数array_key_exists()⼩结array_key_exists()函数判断某个数组中是否存在指定的key,如果key存在,则返回true,否则返回flasearray_key_exists(key,array);key:必需。

规定键名array:必需。

规定输⼊的数组<?php$a = array('a'=>'Dog','b'=>'Cat');if(array_key_exists('a',$a)){echo 'Key exists!';} else{echo 'Key does not exist!';}>输出:Key exists!array_key_exists为什么⽐in_array快?array_key_exists 和 in_array 查询的东西都不⼀样吧array_key_exists 判断是否有键值array_key_exists(a,arr)->if(isset(arr[a]))就是true⽽in_array 需要去遍历值遍历到了才跳出循环追问:是不是数组的索引有单独的存储单元,⽽且优化过,array_key_exists的时间复杂度是o(1), ⽽in_array是o(n) ??追答:重复杂度来说是这样array_key_exists 是判断某个键有没有值in_array 要遍历⼀次获取是否相同不知道建的情况下必须遍历PHP中isset与array_key_exists的区别1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true;2. 执⾏效率不同,isset是内建运算符,array_key_exists是php内置函数,isset要快⼀些。

PHParray_filter()函数详解

PHParray_filter()函数详解

PHParray_filter()函数详解定义array_filter - ⽤回调函数过滤数组中的元素描述array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array依次将 array 数组中的每个值传递到 callback 函数。

如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。

数组的键名保留不变。

如果没有提供 callback 函数,将删除 array 中所有等值为 FALSE 的元素。

参数 flag 决定callback接收的参数形式:ARRAY_FILTER_USE_KEY - 接受键名作为的唯⼀参数,整型 1ARRAY_FILTER_USE_BOTH - 同时接受键名和键值,整型 2两个系统预定义常量,可通过get_defined_constants查看。

⽰例⼀<?phpfunction even($var){// returns whether the input integer is evenreturn(!($var & 1));}$array = array(6, 7, 8, 9, 10, 11, 12);echo "Even:\n";print_r(array_filter($array, "even"));?>将输出:Even:Array([0] => 6[2] => 8[4] => 10[6] => 12)⽰例⼆不使⽤回调函数<?php$entry = array(0 => 'foo',1 => false,2 => -1,3 => null,4 => '');print_r(array_filter($entry));?>将输出:Array([0] => foo[2] => -1)总结感觉可以将是否保留键值作为⼀个可选参数传⼊,因为很多情况下想要重新索引,当然可以⽤array_values实现,但如果能集成在函数内部就更好了。

php基础函数数组函数字符串函数

php基础函数数组函数字符串函数

数组定义:数组是键值对的集合注意:(1)键值对必须成对出现(2)一个数组中不能出现重复的下标,如果出现了,那么后面的将会覆盖前面的(3)值可以为一个数组(4)下标可以为数字或字符串(1)一维数组声明数组:$arr = array('key1'=>$value1,'key2'=>$value2....);$arr = array($v1,$v2,$v3....);//这里把键省略了,系统会分配默认的键分配规则:已使用的最大的整型键+1,如果没有则从0开始;Demo:$arr = array(1,2,3,4,5); // ==>索引数组$arr = array('color1'=>red,'color2'=>blue); // ==>以字符串为下标的称为关联数组(2)二维数组定义:数组的值又为一个一维数组$arr = array('colors' => array('red','blue',green),'sizes' => array(1,3,4,5,7));(3)foreach循环语法:foreach($arr as $key => $val){}(1)数学函数绝对值:abs($number) 返回非负数四舍五入:round($floatnum[,$num]) 返回浮点数,后面的参数为可选,表示保留几位小数,当为负数时表示往小数点前取位,默认取整向上取整:ceil() 返回浮点数,如ceil(3.13) 结果为4向下取整:floor($number) 返回浮点数,如floor(3.93) 结果为3取平方根:sqrt($float) 返回浮点数幂:pow($number,$exp) 返回数值型,两个参数都为数值型最大值:max($num1,$num2...$numX) 返回最大的那个数最小值:min($num1,$num2...$numX) 返回最小的那个数取随机数:rand([$min,$max]) 参数为可选mt_rand([$min,$max]) 精度要高于rand(),即重复的机率要远低于rand() (2)时间函数time(); 返回当前时间戳date('Y-m-d H:i:s'[,time()]); 当前时间日期格式时间格式:y 两位数年份,Y 四位数年份m 两位数月份,n 一位数月份,M 英文月份的前三位,F 英文月份全写d 两位数日期,j 一位数日期w 星期中的第几天0-6,D 星期的英文前三个字母,N 星期中的第几天1-7 ,W 一年中的第几周h 小时00-11,*H 小时00-23,g 小时1-12,G 小时0-23i 分钟00-59s 秒00-59a am或pm,A AM或PMmicrotime() 获取当前时间,微秒级,样式:0.98903200 1337159287,多用于测试程序运行时间,或取随机数date_default_timezone_set("PRC") 设置时间的函数date_default_timezone_get() 获取当前设置的时区strtotime('$timestring') 把时间格式的字符串转换成时间戳Demo:echo strtotime('2012-01-01'); //不写时间则默认为00:00:00也可以直接使用days、weeks、months、years对时间描述直接使用Demo:echo strtotime("-1 days");//输出前一天的时间echo strtotime("+1 week 2 days 4 hours 2 seconds");今日作业:8485868788899091字符串函数注:字符串有一个索引下标,如$str = “abcd”a-d从左至右的下标依次为0,1,2,3;可以用$str[0]或$str{0}输出aint strlen($string)获取字符串长度,返回int型mix strpos($string,$find[,$start])获取某字符串在另一个字符串中第一次出现的位置,返回下标值,如果不存在则返回false$start可选,为开始查找的位置//pos为position的简写判断某字符串是否包含在另一字符串中时需用全等===flase来判断,因为第一个下标值是0 mix strrpos($string,$find[,$start])返回某字符串在另一字符串中最后一次出现的位置注:另有stripos、strripos与上面两个一样,只是不区分大小写int iconv_strrpos($string,$find[,$encode])统计$find在$string中最后出现的位置,指定编码后可用于查找中文mix strstr($string,$findstr)查找某字符串是否在另一字符串中,如果不存在则返回false,区分大小写,别名strchr如果存在,返回查找到的字符串开始至被查找的字符串结束Demo:$str = 'abcfdfgdgs';var_dump(strstr($str,'dfg'));mix stristr($string,$findstr)与strstr相同,但是不区分大小写mix strrchr($string,$findstr)与strstr相同,但是返回的是查找到的最后一个结果Demo:$str = 'abcfdabcgs';var_dump(strstr($str,'abc'));//output abcgsstr substr($string,$start[,$length])截取字符串的一部分,$length不写时,截取从开始位置至字符串结束$start为负数时,为从后往前数第n位$length为负数时,$length为截取结束的位置Demo:$str = 'abcfdfgdgs';echo substr($str,-4,-2);//output gdbool iconv(in_code,out_code,$string)把$string从in_code编码转成out_code编码int mb_strlen($string[,$encode])使用$encode时返回字符串的字符数,同iconv_strlen一样str mb_substr($string,$start[,$length[,$encode]])类似substr,截取字符串,同iconv_substr一样使用第四个param声明字符集时,$start与$length都以字符数计算而不以字节数计算,这样就可以实现汉字截取不会乱码str mb_strcut($string,$start[,$length[,$encode]])与mb_substr一样,但是是以字节数计算的注:mb_ 开头的函数需开启php.ini中extension=php_mbstring.dllecho strtr('hilla warld','ia','eo'); //output hello worldstr strtr($string,array(“find1”=>$value1,“find2”=>$value2 。

php 常用array函数

php 常用array函数

php 常用array函数
PHP中有很多常用的数组函数,可以方便地处理数组数据。

以下是一些常用的PHP数组函数:
1. array_push(): 将一个或多个元素压入数组的末尾。

2. array_pop(): 弹出数组的最后一个元素。

3. array_shift(): 弹出数组的第一个元素。

4. array_unshift(): 将一个或多个元素插入到数组的开头。

5. array_merge(): 合并一个或多个数组。

6. array_slice(): 返回数组中的一部分。

7. array_splice(): 在数组中插入或删除元素。

8. in_array(): 检查一个值是否在数组中。

9. array_search(): 在数组中搜索给定的值,如果找到则返回该值的键名。

10. count(): 返回数组中元素的个数。

11. array_key_exists(): 检查数组中是否存在指定的键名。

12. array_flip(): 交换数组的键和值。

13. array_reverse(): 反转数组中的元素顺序。

14. sort(): 对数组进行升序排序。

15. rsort(): 对数组进行降序排序。

以上是PHP中一些常用的数组函数,它们可以帮助我们更方便地处理数组数据,提高开发效率。

- 1 -。

php中的数组遍历的几种方式

php中的数组遍历的几种方式

php中的数组遍历的⼏种⽅式【(重点)数组循环遍历的四种⽅式】1、使⽤for循环遍历数组conut($arr);⽤于统计数组元素的个数。

for循环只能⽤于遍历,纯索引数组!!!!如果存在关联数组,count统计时会统计两种数组的总个数,使⽤for循环遍历混合数组,导致数组越界!!eg:$arr = array(1,2,3,5,6,7);$num = count($arr); //count最好放到for外⾯,可以让函数只执⾏⼀次echo "数组元素的个数{$num}<br/>";for($i=0;$i<$num;$i++){echo "{$i}==>{$arr[$i]}<br/>";}2、forEach循环遍历数组foreach可以遍历任何类型的数组!!!eg:$arr = array(1,2,3,"one"=>4,5,6,7);foreach($arr as $value){echo "{$item}<br>";}foreach($arr as $key => $value){echo "{$key}==>{$item}<br>";}举个例⼦解析如下数组:$h51701 = array("group1"=>array(array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男")),"group2"=>array(array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男")),"group3"=>array(array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男"),array("name"=>"张三","age"=>14,"sex"=>"男")));foreach ($h51701 as $key => $value) {echo "{$key}<br><br>";foreach ($value as $key1 => $value1) {echo "第".($key1+1)."个同学<br>";foreach ($value1 as $key2 => $value2) {echo "{$key2}==>{$value2}<br>";}echo "<br>";}echo "------------------------<br>";}使⽤list()、each()、while()遍历数组(重点)list():⽤于将数组的每⼀个值,赋值给list函数的每⼀个参数。

php求数组指定元素所有组合的方法

php求数组指定元素所有组合的方法

php求数组指定元素所有组合的方法PHP求数组指定元素所有组合的方法介绍在 PHP 开发中,我们经常需要对数组进行各种操作,其中一个常见的需求是求出数组中指定元素的所有组合。

本文将介绍几种常用的方法来实现这个功能。

方法一:使用循环嵌套1.首先定义一个空数组$result,用来存放所有的组合;2.使用两个循环嵌套遍历数组的每个元素,外层循环控制起始位置,内层循环控制组合的长度;3.在内层循环中,使用array_slice函数截取数组的一部分作为当前组合,并将它添加到$result数组中。

$result = array();$length = count($arr);for ($start = 0; $start < $length; $start++) {for ($count = 1; $count <= $length - $start; $count+ +) {$subset = array_slice($arr, $start, $count);$result[] = $subset;}}print_r($result);方法二:使用递归1.定义一个递归函数combination,该函数接受以下三个参数:当前组合$subset、当前元素的索引$index、原始数组$arr;2.在递归函数内部,使用循环从当前索引开始遍历数组元素,每次取出一个元素,将其添加到当前组合,并递归调用自身;3.当组合的长度等于指定长度时,将当前组合添加到结果数组$result中。

$result = array();function combination($subset, $index, $arr) {global $result;if (count($subset) === $length) {$result[] = $subset;return;}for ($i = $index; $i < count($arr); $i++) {$subset[] = $arr[$i];combination($subset, $i + 1, $arr);array_pop($subset);}}combination(array(), 0, $arr);print_r($result);方法三:使用位运算1.首先定义一个空数组$result,用来存放所有的组合;2.对于数组中的每个元素,使用位运算生成一个对应的二进制数,每一位代表是否选择该元素;3.使用二重循环遍历从 1 到 2 的数组长度次方减 1 的每一个数字,对于每个数字,将对应位为 1 的元素添加到当前组合中。

php常用函数参考表

php常用函数参考表

php在线函数参考表该表总结了各种常用的php函数,包括php字符串函数,php数组函数,php数学函数,mysql函数,文件目录函数,GD库函数,SESSION函数,Date/Time 函数等,涵盖了php基本操作所涉及的各类常用函数,并针对各个函数提供了简单的解释说明,方便查阅。

提供给需要的朋友查询使用。

字符串相关操作函数去除空格或其他字符trim删除字符串两端空格或其他预定义字符rtrim删除字符串右边空格或其他预定义字符chop rtrim() 的别名chop() 与 Perl 的 chop() 函数有所不同,它会删除字符串的最后一个字符。

ltrim删除字符串左边空格或其他预定义字符字符串生成与转换str_pad使用另一个字符串填充字符串为指定长度str_split将字符串转换为数组strrev反转字符串wordwrap打断字符串为指定数量的字串str_shuffle 随机打乱一个字符串parse_str将字符串解析成变量number_format通过千位分组来格式化字符串字符串大小写转换strtolower将字符串转化为小写strtoupper将字符串转化为大写ucfirst将字符串的首字母转换为大写lcfirst将字符串的首字母转换为小写ucwords将字符串中每个单词的首字母转换为大写html标签关联htmlentities将字符转换为HTML实体htmlspecialchars预定义字符串转HTML编码nl2br 在字符串所有新行之前插入 HTML 换行标记 \n转换为<br>标签strip_tags从字符串中去除 HTML 和 PHP 标记addcslashes以 C 语言风格使用反斜线转义字符串中的字符stripcslashes反引用一个使用addcslashes() 转义的字符串addslashes使用反斜线引用字符串stripslashes删除由addslashes添加的转义字符字符串相关操作函数去除空格或其他字符quotemeta字符串中某些预定义字符串前加反斜杠chr从指定的ASCII值返回字符ord返回字符串第一个字符的 ASCII值字符串比较strcasecmp不区分大小写比较两个字符串strcmp区分大小写比较两个字符串strncmp比较字符串前N个字符,区分大小写strncasecmp比较字符串前N个字符,不区分大小写strnatcmp自然顺序法比较字符串长度,区分大小写strnatcasecmp自然顺序法比较字符串长度,不区分大小写字符串查找替换str_replace字符串替换操作,区分大小写str_ireplace字符串替换操作,不区分大小写substr_count统计一个字符串,在另一个字符串中出现的次数substr_replace替换字符串中某串为另一个字符串similar_text返回两字符串相同字符的数量strrchr 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串strstr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串strchr strstr的别名,返回一个字符串在另一个中首次出现位置开始到末尾的字符串stristr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串,不区分大小写strtr转换字符串中某些字符strpos寻找字符中某些字符最先出现的位置stripos寻找字符中某些字符最先出现的位置,不区分大小写strrpos寻找字符中某些字符最后出现的位置strripos寻找字符中某些字符最后出现的位置,不区分大小写strspn返回字符串中首次符合mask的字符串长度strcspn返回字符串中不符合mask的字符串的长度字符串统计str_word_count统计字符串含有的单词数strlen统计字符串长度count_chars统计字符串中所有字母出现的次数(0..255)字符串编码md5计算字符串的 MD5 散列值hash生成一个哈希码数组相关函数创建数组array生成一个数组array_combine 生成一个数组,用一个数组的值作为键名,另一个数组的值作为值range创建并返回一个包含指定范围的元素的数组compact创建一个由参数所带变量组成的数组array_fill用给定的值填充生成数组数组合并和拆分array_chunk把一个数组分割为新的数组块array_merge把两个或多个数组合并成一个数组array_slice在数组中根据条件取出一段值,并返回。

PHP常用函数总结(180多个)

PHP常用函数总结(180多个)

PHP常⽤函数总结(180多个)PHP常⽤函数总结数学函数1.abs(): 求绝对值$abs = abs(-4.2); //4.2 数字绝对值数字2.ceil(): 进⼀法取整echo ceil(9.999); // 10 浮点数进⼀取整3.floor(): 舍去法取整echo floor(9.999); // 9 浮点数直接舍去⼩数部分4.fmod(): 浮点数取余$x = 5.7;$y = 1.3; // 两个浮点数,x>y 浮点余数$r = fmod($x, $y);// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.75.pow(): 返回数的n次⽅echo pow(-1, 20); // 1 基础数|n次⽅乘⽅值6.round(): 浮点数四舍五⼊echo round(1.95583, 2); // 1.96, ⼀个数值|保留⼩数点后多少位,默认为0 舍⼊后的结果7.sqrt(): 求平⽅根echo sqrt(9); //3 被开⽅的数平⽅根8.max(): 求最⼤值echo max(1, 3, 5, 6, 7); // 7多个数字或数组返回其中的最⼤值echo max(array(2, 4, 5)); // 59.min(): 求最⼩值输⼊: 多个数字或数组输出: 返回其中的最⼩值10.mt_rand(): 更好的随机数输⼊: 最⼩|最⼤, 输出: 随机数随机返回范围内的值echo mt_rand(0,9);//n11.rand(): 随机数输⼊: 最⼩|最⼤, 输出: 随机数随机返回范围内的值12.pi(): 获取圆周率值去空格或或其他字符:13.trim(): 删除字符串两端的空格或其他预定义字符$str = "\r\nHello World!\r\n";echo trim($str);输⼊: ⽬标字符串返回值: 清除后的字符串14.rtrim(): 删除字符串右边的空格或其他预定义字符$str = "Hello World!\n\n";echo rtrim($str);15.chop(): rtrim()的别名16.ltrim(): 删除字符串左边的空格或其他预定义字符$str = "\r\nHello World!";echo ltrim($str);17.dirname(): 返回路径中的⽬录部分echo dirname("c:/testweb/home.php"); //c:/testweb输⼊: ⼀个包含路径的字符串返回值: 返回⽂件路径的⽬录部分字符串⽣成与转化: 18.str_pad(): 把字符串填充为指定的长度$str = "Hello World";echo str_pad($str,20,".");输⼊: 要填充的字符串|新字符串的长度|供填充使⽤的字符串, 默认是空⽩输出: 完成后的字符串19.str_repeat(): 重复使⽤指定字符串echo str_repeat(".",13); // 要重复的字符串|字符串将被重复的次数13个点20.str_split(): 把字符串分割到数组中print_r(str_split("Hello"));输⼊: 要分割的字符串|每个数组元素的长度,默认1输出: 拆分后的字符串数组21.strrev(): 反转字符串echo strrev("Hello World!"); // !dlroW olleH输出: ⽬标字符串颠倒顺序后的字符串22.wordwrap(): 按照指定长度对字符串进⾏折⾏处理$str = "An example on a long word is:Supercalifragulistic";echo wordwrap($str,15);输⼊: ⽬标字符串|最⼤宽数输出: 折⾏后的新字符串23.str_shuffle(): 随机地打乱字符串中所有字符echo str_shuffle("Hello World");输⼊: ⽬标字符串顺序输出: 打乱后的字符串24.parse_str(): 将字符串解析成变量parse_str("id=23&name=John%20Adams", $myArray);print_r($myArray);输⼊: 要解析的字符串|存储变量的数组名称输出: 返回Array( [id] => 23 [name] => John Adams)25.number_format(): 通过千位分组来格式化数字输⼊: 要格式化的数字|规定多少个⼩数|规定⽤作⼩数点的字符串|规定⽤作千位分隔符的字符串输出: 1,000,000 1,000,000.00 1.000.000,00⼤⼩写转换:26.strtolower(): 字符串转为⼩写echo strtolower("Hello WORLD!");⽬标字符串⼩写字符串27.strtoupper(): 字符串转为⼤写echo strtoupper("Hello WORLD!");输出: ⼤写字符串28.ucfirst(): 字符串⾸字母⼤写echo ucfirst("hello world"); // Hello world29.ucwords(): 字符串每个单词⾸字符转为⼤写echo ucwords("hello world"); // Hello Worldhtml标签关联:30.htmlentities(): 把字符转为HTML实体$str = "John & 'Adams'";echo htmlentities($str, ENT_COMPAT); // John & 'Adams'31.htmlspecialchars(): 预定义字符转html编码32.nl2br(): \n转义为<br>标签echo nl2br("One line.\nAnother line.");输出: 处理后的字符串33.strip_tags(): 剥去 HTML、XML 以及 PHP 的标签echo strip_tags("Hello <b>world!</b>"); 34.addcslashes():在指定的字符前添加反斜线转义字符串中字符$str = "Hello, my name is John Adams.";echo $str;echo addcslashes($str,'m');输⼊: ⽬标字符串|指定的特定字符或字符范围35.stripcslashes(): 删除由addcslashes()添加的反斜线echo stripcslashes("Hello, \my na\me is Kai Ji\m.");// ⽬标字符串 Hello, my name is Kai Jim.36.addslashes(): 指定预定义字符前添加反斜线$str = "Who's John Adams?";echo addslashes($str);输出: 把⽬标串中的' " \和null进⾏转义处理37.stripslashes(): 删除由addslashes()添加的转义字符echo stripslashes("Who\'s John Adams?"); // 清除转义符号Who's John Adams?38.quotemeta(): 在字符串中某些预定义的字符前添加反斜线$str = "Hello world. (can you hear me?)";echo quotemeta($str);// Hello world\. \(can you hear me\?\)39.chr(): 从指定的 ASCII 值返回字符echo chr(052); // ASCII 值返回对应的字符40.ord(): 返回字符串第⼀个字符的ASCII值echo ord("hello"); 字符串第⼀个字符的 ASCII 值字符串⽐较:41.strcasecmp(): 不区分⼤⼩写⽐较两字符串echo strcasecmp("Hello world!","HELLO WORLD!");输⼊: 两个⽬标字符串输出: ⼤1|等0|⼩ -142.strcmp(): 区分⼤⼩写⽐较两字符串43.strncmp(): ⽐较字符串前n个字符,区分⼤⼩写调⽤: int strncmp ( string $str1 , string $str2 , int $len) 44.strncasecmp(): ⽐较字符串前n个字符,不区分⼤⼩写调⽤: int strncasecmp ( string $str1 , string $str2 , int $len )45.strnatcmp(): ⾃然顺序法⽐较字符串长度,区分⼤⼩写调⽤: int strnatcmp ( string $str1 , string $str2 )输⼊: ⽬标字符串 46.strnatcasecmp(): ⾃然顺序法⽐较字符串长度, 不区分⼤⼩写调⽤: int strnatcasecmp ( string $str1 , string $str2 )字符串切割与拼接:47.chunk_split():将字符串分成⼩块调⽤: str chunk_split(str $body[,int $len[,str $end]])输⼊: $body⽬标字串, $len长度, $str插⼊结束符输出: 分割后的字符串48.strtok(): 切开字符串调⽤: str strtok(str $str,str $token)⽬标字符串$str,以$token为标志切割返回切割后的字符串49.explode(): 使⽤⼀个字符串为标志分割另⼀个字符串调⽤: array explode(str $sep,str $str[,int $limit])输⼊: $sep为分割符,$str⽬标字符串,$limit返回数组最多包含元素数输出: 字符串被分割后形成的数组50.implode(): 同join,将数组值⽤预订字符连接成字符串调⽤: string implode ( string $glue , array $pieces )$glue默认, ⽤''则直接相连51.substr(): 截取字符串调⽤: string substr ( string $string , int $start [, int $length ] )字符串查找替换:52.str_replace(): 字符串替换操作,区分⼤⼩写调⽤mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])输⼊: $search查找的字符串,$replace替换的字符串,$subject被查找字串, &$num 输出: 返回替换后的结果53.str_ireplace() 字符串替换操作,不区分⼤⼩写调⽤: mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] )输⼊: $search查找的字符串,$replace替换的字符串,$subject被查找字串,&$num 输出: 返回替换后的结果54.substr_count(): 统计⼀个字符串,在另⼀个字符串中出现次数调⽤: int substr_count ( string $haystack , string $needle[, int $offset = 0 [, int $length ]] )55.substr_replace(): 替换字符串中某串为另⼀个字符串调⽤: mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )56.similar_text(): 返回两字符串相同字符的数量调⽤: int similar_text(str $str1,str $str2)输⼊: 两个⽐较的字符串输出: 整形,相同字符数量57.strrchr(): 返回⼀个字符串在另⼀个字符串中最后⼀次出现位置开始到末尾的字符串调⽤: string strrchr ( string $haystack , mixed $needle )58.strstr(): 返回⼀个字符串在另⼀个字符串中开始位置到结束的字符串调⽤: string strstr ( string $str, string $needle , bool $before_needle ) 59.strchr(): strstr()的别名,返回⼀个字符串在另⼀个字符串中⾸次出现的位置开始到末尾的字符串调⽤: string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 60.stristr(): 返回⼀个字符串在另⼀个字符串中开始位置到结束的字符串,不区分⼤⼩写调⽤:string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )61.strtr(): 转换字符串中的某些字符调⽤: string strtr ( string $str , string $from , string $to )62.strpos(): 寻找字符串中某字符最先出现的位置调⽤: int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )63.stripos(): 寻找字符串中某字符最先出现的位置,不区分⼤⼩写调⽤: int stripos ( string $haystack , string $needle [, int $offset ] )64.strrpos(): 寻找某字符串中某字符最后出现的位置调⽤: int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )65.strripos(): 寻找某字符串中某字符最后出现的位置,不区分⼤⼩写调⽤: int strripos ( string $haystack , string $needle [, int $offset ] )66.strspn(): 返回字符串中⾸次符合mask的⼦字符串长度调⽤: int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )67.strcspn(): 返回字符串中不符合mask的字符串的长度调⽤: int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )输⼊: $str1被查询,$str2查询字符串,$start开始查询的字符,$length是查询长度输出: 返回从开始到第⼏个字符字符串统计:68.str_word_count(): 统计字符串含有的单词数调⽤: mix str_word_count(str $str,[])输⼊: ⽬标字符串输出: 统计处的数量69.strlen(): 统计字符串长度int strlen(str $str)输⼊: ⽬标字符串输出:整型长度70.count_chars(): 统计字符串中所有字母出现次数(0..255) 调⽤: mixed count_chars ( string $string [, int $mode ] )字符串编码:71.md5(): 字符串md5编码$str = "Hello";echo md5($str);数组函数数组创建:72.array(): ⽣成⼀个数组$a=array("Dog","Cat","Horse");print_r($a);数组值或,键=>值⼀个数组型变量73.array_combine(): ⽣成⼀个数组,⽤⼀个数组的值作为键名,另⼀个数组值作为值$a1=array("a","b","c","d");$a2=array("Cat","Dog","Horse","Cow");print_r(array_combine($a1,$a2));$a1为提供键,$a2提供值合成后的数组74.range(): 创建并返回⼀个包含指定范围的元素的数组。

php数组合并函数

php数组合并函数

php数组合并函数在PHP中,有多种方式可以合并数组。

下面将介绍几种常用的数组合并函数。

1. array_merge(函数:该函数可将两个或多个数组合并为一个数组,并返回该新数组。

如果数组中存在相同的字符串键名,则后面的将会覆盖前面的。

示例代码:```php$array1 = ['a', 'b', 'c'];$array2 = [1, 2, 3];$result = array_merge($array1, $array2);print_r($result);```输出结果:```Array[0]=>a[1]=>b[2]=>c[3]=>1[4]=>2[5]=>3```2. array_merge_recursive(函数:该函数和array_merge(函数类似,但是在合并相同键名的数组时,会递归合并其值。

示例代码:```php$array1 = ['a' => 'apple', 'b' => 'banana'];$array2 = ['b' => 'blackberry', 'c' => 'cherry'];$result = array_merge_recursive($array1, $array2);print_r($result);```输出结果:```Array[a] => apple[b] => Array[0] => banana[1] => blackberry[c] => cherry```示例代码:```php$keys = ['a', 'b', 'c'];$values = [1, 2, 3];print_r($result);```输出结果:```Array[a]=>1[b]=>2[c]=>3```4. array_replace(函数:该函数可将一个或多个数组的值合并到第一个数组中,如果键名重复,则后面的数组会覆盖前面的。

  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() 将键名变量键值。

相关文档
最新文档