PHP 常用函数总结v0.3.5


Tomorrow the Sun 常用函数总结常用函数总结常用函数总结常用函数总结 1.1.1.1. abs()abs()abs()abs() 求绝对值 说明: number absabsabsabs ( mixed $number ) 参数: number 必需。一个数。 返回参数 number 的绝对值。如果参数 number 是 float,则返回的类型也是 float,否则返回 integer (因为 float 通常比 integer 有更大的取值范围)。 例子: 2.2.2.2. ceil()ceil()ceil()ceil() 进一法取整 说明: float ceilceilceilceil ( float $value ) 参数: value 必需。一个数。 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因 为 float 值的范围通常比 integer 要大。 例子: 3.3.3.3. floor()floor()floor()floor() 舍去法取整 Tomorrow the Sun 说明: float floorfloorfloorfloor ( float $value ) 参数: value 必需。一个数。 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因 为 float 值的范围通常比 integer 要大。 例子: 4.4.4.4. fmod()fmod()fmod()fmod() 返回除法的浮点数余数 说明: float fmodfmodfmodfmod ( float $x , float $y ) 参数: x 必需。一个数。 y 必需。一个数。 返回被除数(x)除以除数(y)所得的浮点数余数。余数(r)的定义是:x = i * y + r,其中 i 是整数。 如果 y 是非零值,则 r 和 x 的符号相同并且其数量值小于 y。 例子: 5.5.5.5. pow()pow()pow()pow() 指数表达式((((返回数的 NNNN次方)))) 说明: number powpowpowpow ( number $base , number $exp ) 参数: Tomorrow the Sun base 必需。一个数。 exp 必需。一个数。 返回 base 的 exp 次方的幂。如果可能,本函数会返回 integer。 如果不能计算幂,将发出一条警告,pow() 将返回 FALSE。PHP 4.2.0 版开始 pow() 不要产生任何的警告。 在 PHP 4.0.6 及之前版本中,pow() 总是返回 float,并且不产生警告。 例子: 6.6.6.6. round()round()round()round() 对浮点数进行四舍五入 说明: float roundroundroundround ( float $val [, int $precision ]) 参数: val 可选。规定要舍入的数字。 precision 可选。规定小数点后的位数。 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可 以是负数或零(默认值)。 Note: PHP 默认不能正确处理类似 "12,300.2" 的字符串 例子: round 的第二个参 数默认值是 0 Tomorrow the Sun 7.7.7.7. sqrt()sqrt()sqrt()sqrt() 求平方根 说明: float sqrtsqrtsqrtsqrt ( float $arg ) 参数: arg 必需。一个数字。 返回 arg 的平方根。 例子: 8.8.8.8. max()max()max()max() 找出最大值 说明: mixed maxmaxmaxmax ( number $arg1 , number $arg2 ) mixed maxmaxmaxmax ( array $numbers [, array $... ]) 参数: arg1 必需。一个数或数组 arg2 必需。一个数或数组 max() 返回参数中数值最大的值。 如果仅有一个参数且为数组,max() 返回该数组中最大的值。如果第一个参数是整数、字符串或浮点数, 则至少需要两个参数而 max() 会返回这些值中最大的一个。可以比较无限多个值。 PHP 会将非数值的 string 当成 0,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个参数 都求值为 0 且是最大值,max() 会返回其中数值的 0,如果参数中没有数值的 0,则返回按字母表顺序最大 的字符串。 例子: 10.10.10.10. randrandrandrand ()()()() 产生一个随机整数 说明: int randrandrandrand ([ int $min , int $max ]) // 如果同时给出数组和非数 组作为参数,则总是将数组视 为最大值返回 // 对多个数组,min 从左向右 比较。 // 因此在本例中:2 = = 2,但 4 < 5 // 如果同时给出数组和非数 组作为参数,则不可能返回数 组,因为数组被视为最大的 Tomorrow the Sun 参数: min,max 可选。规定随机数产生的范围。 如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。 在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代之。 例子: 11.11.11.11. mt_rand()mt_rand()mt_rand()mt_rand() 生成更好的随机数 说明: int mt_randmt_randmt_randmt_rand ([ int $min ], int $max ) 参数: min,max 可选。规定随机数产生的范围。 很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作 为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。 如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。 例子: 12.12.12.12. pipipipi ()()()() 得到圆周率值 说明: float pipipipi( void ) 返回圆周率的近似值。返回值的 float 精度是由 php.ini 中的 precision 指令确定。默认值是 14。你也 可以使用 M_PI 常量,该常量产生与 pi() 完全相同的结果。 Tomorrow the Sun 例子: 13.13.13.13. array()array()array()array() 新建一个数组 说明: array arrayarrayarrayarray ([ mixed $... ]) 返回根据参数建立的数组。参数可以用 => 运算符给出索引。 array() 是一个语言结构,用于字面上表示数组,不是常规的函数。 语法“index => values”,用逗号分开,定义了索引和值。索引可以是字符串或数字。如果省略了索引, 会自动产生从 0 开始的整数索引。如果索引是整数,则下一个产生的索引将是目前最大的整数索引 + 1。注 意如果定义了两个完全一样的索引,则后面一个会覆盖前一个。 在最后一个定义的数组项目之后加一个逗号虽然不常见,却是合法的语法。 数组元素的值可以为一个变量;数组元素的值可以为八大数据类型当中的任意一种;数组元素的值还可 以放表达式。 例子: array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); ?> 1, 4 => 1, 19, 3 => 13); print_r($array); ?> 14.14.14.14. array_combine()array_combine()array_combine()array_combine() 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 说明: array array_combinearray_combinearray_combinearray_combine ( array $keys , array $values ) 参数: keys 必需。规定键名。 values 必需。规定值。 这是一个二 维数组 Tomorrow the Sun 返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。 如果两个数组 的单元数不同或者数组为空时返回 FALSE。 例子: 结果为: Array ( [green] => avocado [red] => apple [yellow] => banana ) 15.15.15.15. range()range()range()range() 建立一个包含指定范围单元的数组 说明: array rangerangerangerange ( mixed $low , mixed $high [, number $step ]) 参数: low 必需。规定数组元素的最小值。 high 必需。规定数组元素的最大值。 step 可选。规定元素之间的步进制。默认是 1。 注释:该参数是 PHP 5 中加入的。 range() 返回数组中从 low 到 high 的单元,包括它们本身。如果 low > high,则序列将从 high 到 low。 可选的 step 参数是 PHP 5.0.0 新加的。如果给出了 step 的值,它将被作为单元之间的步进值。step 应 该为正值。如果未指定,step 则默认为 1。 在版本 4.1.0 之前 range() 函数只产生递增的整数数组。对于字符序列和递减数组的支持是 4.1.0 加入 的。字符序列值的长度限定为一。如果输入的长度超过一,则只使用第一个字符。 例子: 16.16.16.16. compact()compact()compact()compact() 建立一个数组,包括变量名和它们的值 说明: array compactcompactcompactcompact ( mixed $varname [, mixed $... ]) 参数: varname 必需。可以是带有变量名的字符串,或者是一个变量数组。 var2 可选。可以是带有变量名的字符串,或者是一个变量数组。允许多个参数。 compact() 接受可变的参数数目。每个参数可以是一个包括变量名的字符串或者是一个包含变量名的数 组,该数组中还可以包含其它单元内容为变量名的数组, compact() 可以递归处理。 对每个参数,compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名 而变量的内容成为该键的值。简单说,它做的事和 extract() 正好相反。返回将所有变量添加进去后的数组。 任何没有变量名与之对应的字符串都被略过。 因为可变变量也许不能在函数内部用于 PHP 的超全局数组,此时不能将超全局数组传递入 compact() 中。 例子: Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA ) 17.17.17.17. array_fillarray_fillarray_fillarray_fill ()()()() 用给定的值填充数组 说明: array array_fillarray_fillarray_fillarray_fill ( int $start_index , int $num , mixed $value ) 任何没有变量名与 之对应的字符串都 被略过。 Tomorrow the Sun 参数: start_index 必需。数值,规定键的起始索引。 num 必需。数值,规定填充的数量,其值必须大于 0。 value 必需。规定要插入的值。 array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。注意 num 必须是一个大于零的数值,否则 PHP 会发出一条警告。 例子: Array( [5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana ) $a = array_fill('bdddd', 3,'banana'); print_r($a); Array ([0] => banana [1] => banana [2] => banana ) 18.18.18.18. array_chunkarray_chunkarray_chunkarray_chunk ()()()() 将一个数组分割成多个 说明: array array_chunkarray_chunkarray_chunkarray_chunk( array $input , int $size [, bool $preserve_keys ]) 参数: input 必需。规定要使用的数组。 size 必需。规定每个新数组包含多少个元素。 preserve_keys 可选。可能的值: true - 保留原始数组中的键名。 false - 默认。每个结果数组使用从零开始的新数 组索引。 字符串会转换成 0 进 行运算 第二个参数不能为 0,会报错!Warning: array_fill() [function.array-fill]: Number of elements must be positive in D:\test.php on line 4 Tomorrow the Sun array_chunk() 将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单 元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。 将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE, 那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。 例子: Array( [0] => Array( [0] => a [1] => b ) [1] => Array( [0] => c [1] => d ) [2] => Array( [0] => e ) ) Array( [0] => Array( [0] => a [1] => b ) [1] => Array( [2] => c [3] => d ) [2] => Array( [4] => e ) ) 19.19.19.19. array_mergearray_mergearray_mergearray_merge ()()()() 合并一个或多个数组 说明: array array_mergearray_mergearray_mergearray_merge( array $array1 [, array $array2 [, array $... ]]) 因为没有第三个参数(默认是 false), 所以没有保留原有键名 因为将第三个参数设置为 true,所以保 留原有键名 Tomorrow the Sun 参数: array1 必需。输入的第一个数组。 array2 可选。输入的第二个数组。 array3 可选。可指定的多个输入数组。 array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为 结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字 键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。 例子: "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result); ?> Array( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) $a = array(1,75); $b = array(4,'a'=>7,9,0); $c = array_merge($a,$b); print_r($c); Array( [0] => 1 [1] => 75 [2] => 4 [a] => 7 [3] => 9 [4] => 0 ) 扩展: $a = array(1,75); 假如键名是数字,会被重新定义键名进 行重组,假如键名是字符串,会保留字 符串键名 Tomorrow the Sun $b = array(4,'a'=>7,9,0); $c = $a+$b; print_r($c); Array( [0] => 1 [1] => 75 [a] => 7 [2] => 0 ) 20.20.20.20. array_slicearray_slicearray_slicearray_slice ()()()() 从数组中取出一段 说明: array array_slicearray_slicearray_slicearray_slice( array $array , int $offset [, int $length [, bool $preserve_keys ]]) 参数: array 必需。规定输入的数组。 offset 必需。数值。规定取出元素的开始位置。 如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。 length 可选。数值。规定被返回数组的长度。 如果 length 为正,则返回该数量的元素。 如果 length 为负,则序列将终止在距离数组末端这么远的地方。 如果省略,则序列将从 offset 开始直到 array 的末端。 preserve_keys 可选。可能的值: true - 保留键 false - 默认 - 重置键 array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。 如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离 末端这么远的地方开始。 如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将 终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。 注意 array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改 变此行为。 使用此函数后会重置 array 指针。 例子: 可以使用加号合并两个数组,会保留原 有的键名,假如键名重复,最先出现的 会保留,后出现的直接抛弃。 Tomorrow the Sun Array( [0] => c [1] => d ) Array( [2] => c [3] => d ) 21.21.21.21. array_diff()array_diff()array_diff()array_diff() 计算数组的差集 说明: array array_diffarray_diffarray_diffarray_diff ( array $array1 , array $array2 [, array $ ...]) 参数: array1 必需。与其他数组进行比较的第一个数组。 array2 必需。与第一个数组进行比较的数组。 array3 可选。与第一个数组进行比较的数组。 array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键 名保留不变。 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样 的时候。 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。 例子: "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); ?> Array( [1] => blue Tomorrow the Sun ) $a = array('a'=> 'aaa','b'=>'bbb',12,23,54,74); $b = array('c'=> 'aaa','b'=>'bbb','aaa'=>12,45,45,65); $c = array('j'=> 'jjj','d'=>'ddd',2380,54); $d = array_diff($a,$b,$c); print_r($d); Array( [1] => 23 [3] => 74 ) 22.22.22.22. array_intersectarray_intersectarray_intersectarray_intersect ()()()() 计算数组的交集 说明: array array_intersectarray_intersectarray_intersectarray_intersect ( array $array1 , array $array2 [, array $ ...]) 参数: array1 必需。与其他数组进行比较的第一个数组。 array2 必需。与第一个数组进行比较的数组。 array3 可选。与第一个数组进行比较的数组。可以有多个。 array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。 注意键名保留不变。 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样 的时候。 例子: "green", "red", "blue"); $array2 = array("b" => "green", "yellow", "red"); $result = array_intersect($array1, $array2); ?> Array( [a] => green [0] => red ) 23.23.23.23. array_searcharray_searcharray_searcharray_search ()()()() 在数组中搜索给定的值,如果成功则返回相应的键名 说明: mixed array_searcharray_searcharray_searcharray_search ( mixed $needle , array $haystack [, bool $strict ]) 参数: 多个数组也类似,会找多个数组的 差集。只会比较值而不会比较键 名。 Tomorrow the Sun needle 必需。规定在数组中搜索的值。 haystack 必需。被搜索的数组。 strict 可选。可能的值: true false - 默认 如果值设置为 true,还将在数组中检查给定值的类型。 在 haystack 中搜索 needle 参数并在找到的情况下返回键名,否则返回 FALSE。 如果 needle 是字符串,则比较以区分大小写的方式进行。 在 PHP 4.2.0 之前,array_search() 在失败时返回 NULL 而不是 FALSE。 如果可选的第三个参数 strict 为 TRUE,则 array_search() 还将在 haystack 中检查 needle 的类型。 如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。 例子: 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); // $key = 2; $key = array_search('red', $array); // $key = 1; ?> $a = array('a'=>'1111','b'=>'2222','c'=>'3333','d'=>'2222'); var_dump(array_search(2222,$a,truetruetruetrue));// bool(false) $a = array('a'=>'1111','b'=>'2222','c'=>'3333','d'=>'2222'); var_dump(array_search(2222,$a)); // b 24.24.24.24. array_splice()array_splice()array_splice()array_splice() 把数组中的一部分去掉并用其它值取代 说明: array array_splicearray_splicearray_splicearray_splice ( array &$input , int $offset [, int $length [, array $ replacement ]]) 参数: input 必需。规定数组。 offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。 length 可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。 如果第三个参数为 true,则会匹配数据类 型,如果没有,返回 false 如果needle 在 haystack 中出现不止 一次,则返回第一个 匹配的键。 Tomorrow the Sun replacement 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到 指定位置。 array_splice() 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则 用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。 如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾 倒数该值指定的偏移量开始移除。 如果省略 length,则移除数组中从 offset 到结尾的所有部分。如果指定了 length 并且为正值,则移除 这么多单元。如果指定了 length 并且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的单元。 小窍门:当给出了 replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length。 如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。如果 offset 和 length 的组合 结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。注意替换数组中的键 名不保留。如果用来替换的值只是一个单元,那么不需要给它加上 array(),除非该单元本身就是一个数组。 例子: $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion"); array_splice($a1,0,2,$a2); print_r($a1); //Array ([0] => Tiger [1] => Lion [2] => Horse [3] => Bird ) 25.25.25.25. array_sumarray_sumarray_sumarray_sum ()()()() 计算数组中所有值的和 如果给出了 replacement 数组, 则被移除的单元被此 数组中的单元替代。 Tomorrow the Sun 说明: number array_sumarray_sumarray_sumarray_sum ( array $array ) 参数: array 必需。规定输入的数组。 array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。 PHP 4.2.1 之前的版本修改了传入的数组本身,将其中的字符串值转换成数值(大多数情况下都转换成了 零,根据具体值而定)。 例子: 1.2, "b" => 2.3, "c" => 3.4); echo "sum(b) = ". array_sum($b) ."\n"; // 6.9 ?> $a = array('a'=>'abc','b'=>'cdd',2); echo array_sum($a); // 2 $a = array('a'=>'abc','b'=>'99cdd',2); echo array_sum($a); // 101 26.26.26.26. in_array()in_array()in_array()in_array() 检查数组中是否存在某个值 说明: bool in_arrayin_arrayin_arrayin_array ( mixed $needle , array $haystack [, bool $strict ]) 参数: needle 必需。规定要在数组搜索的值。 haystack 必需。规定要搜索的数组。 strict 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。 在 haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的 相同。 如果 needle 是字符串,则比较是区分大小写的。 在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。 例子: Tomorrow the Sun $a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) { echo "'12.4' found with strict check\n"; } if (in_array(1.13, $a, true)) { echo "1.13 found with strict check\n"; } 以上输出结果为: 'ph' was found 'o' was found 27.27.27.27. array_key_existsarray_key_existsarray_key_existsarray_key_exists ()()()() 检查给定的键名或索引是否存在于数组中 说明: bool array_key_existsarray_key_existsarray_key_existsarray_key_exists ( mixed $key , array $search ) 参数: key 必需。规定键名。 search 必需。规定输入的数组。 array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。 失败,比较是区分大小写 的 不会被输出,因为第三个 参数为 true,会匹配数据类 型 Tomorrow the Sun array_key_exists() 也可用于对象。 在 PHP 4.0.6 中本函数名为 key_exists()。 例子: 1, 'second' => 4); if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array"; } ?> null, 'second' => 4); // returns false isset($search_array['first']); // returns true array_key_exists('first', $search_array); ?> 123,'b'=>234); var_dump(array_key_exists($a,$b)); ?> 28.28.28.28. currentcurrentcurrentcurrent ()()()() 返回数组中的当前单元 说明: mixed currentcurrentcurrentcurrent ( array &$array ) 参数: array 必需。规定要使用的数组。 每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。 current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元 列表的末端,current() 返回 FALSE。 如果数组包含有空的单元(0 或者 "",空字符串)则本函数在碰到这个单元时也返回 FALSE。这使得用 current() 不可能判断是否到了此数组列表的末端。要正确遍历可能含有空单元的数组,用 each() 函数。 例子: 29.29.29.29. keykeykeykey ()()()() 从关联数组中取得键名 说明: mixed keykeykeykey ( array &$array ) 参数: array 必需。规定要使用的数组。 key() 返回数组中当前单元的键名。 例子: 'apple', 'fruit2' => 'orange', 'fruit3' => 'grape', 'fruit4' => 'apple', 'fruit5' => 'apple' ); while ($fruit_name = current($array)) { if ($fruit_name == 'apple') { echo key($array).'
'; } next($array); } ?> 结果为: fruit1 fruit4 fruit5 30.30.30.30. nextnextnextnext ()()()() 将数组中的内部指针向前移动一位 说明: mixed nextnextnextnext ( array &$array ) 参数: array 必需。规定要使用的数组。 Tomorrow the Sun 返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE。 next() 和 current() 的行为类似,只有一点区别,在返回值之前将内部指针向前移动一位。这意味着它返 回的是下一个数组单元的值并将数组指针向前移动了一位。如果移动指针的结果是超出了数组单元的末端, 则 next() 返回 FALSE。 如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有 空单元或者单元值为 0 的数组,参见 each() 函数。 例子: 31.31.31.31. prevprevprevprev ()()()() 将数组的内部指针倒回一位 说明: mixed prevprevprevprev ( array &$array ) 参数: array 必需。规定要使用的数组。 返回数组内部指针指向的前一个单元的值,或当没有更多单元时返回 FALSE。 如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有 空单元或者单元值为 0 的数组,参见 each() 函数。 例子: Tomorrow the Sun 32.32.32.32. endendendend ()()()() 将数组的内部指针指向最后一个单元 说明: mixed endendendend ( array &$array ) 参数: array 必需。规定要使用的数组。 end() 将 array 的内部指针移动到最后一个单元并返回其值。 例子: 33.33.33.33. reset()reset()reset()reset() 将数组的内部指针指向第一个单元 说明: mixed resetresetresetreset ( array &$array ) 参数: array 必需。规定要使用的数组。 reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE。 例子: 34.34.34.34. listlistlistlist ()()()() 把数组中的值赋给一些变量 说明: void listlistlistlist ( mixed $varname , mixed $... ) 参数: Tomorrow the Sun varname 必需。第一个需要赋值的变量。 var2 可选。可以有多个变量。 像 array() 一样,这不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。 list() 仅能用于数字索引的数组并假定数字索引从 0 开始。 list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的 数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。是以相反顺序赋值的。 例子: array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" } 35.35.35.35. array_shiftarray_shiftarray_shiftarray_shift ()()()() 将数组开头的单元移出数组 说明: mixed array_shiftarray_shiftarray_shiftarray_shift ( array &$array ) 参数: list() 从最右边一个 参数开始赋值。 Tomorrow the Sun array 必需。规定输入的数组。 array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前 移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果 array 为空(或者不是数组),则 返回 NULL。 使用此函数后会重置 array 指针。 例子: 结果为:Array ( [0] => banana [1] => apple [2] => raspberry ) 111,'b'=>222,'c'=>333); $b = array_shift($a); print_r($a); ?> 结果为:Array ([b] => 222 [c] => 333 ) 36.36.36.36. array_unshiftarray_unshiftarray_unshiftarray_unshift ()()()() 在数组开头插入一个或多个单元 说明: int array_unshiftarray_unshiftarray_unshiftarray_unshift ( array &$array , mixed $var [, mixed $... ]) 参数: array 必需。规定输入的数组。 var 必需。规定插入的值。 value2 可选。规定插入的值。 array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持 同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。 返回 array 数组新的单元数目。 例子: 结果是: Array([0] => apple [1] => raspberry [2] => orange [3] => banana) Array( [0] => Array ( [0] => 111 [1] => 222 ) [1] => 123 [2] => 321 ) 37.37.37.37. array_pusharray_pusharray_pusharray_push ()()()() 将一个或多个单元压入数组的末尾(入栈) 说明: int array_pusharray_pusharray_pusharray_push ( array &$array , mixed $var [, mixed $... ]) 参数: array 必需。规定一个数组。 var 必需。规定要添加的值。 value2 可选。规定要添加的值。 array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的 数目增加。和如下效果相同: 并对每个 var 重复以上动作。 返回数组新的单元总数。 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数 组。 例子: 结果是: Array ([0] => orange [1] => banana [2] => apple [3] => raspberry ) Array( [0] => 123 [1] => 321 [2] => Array ( [0] => 111 [1] => 222 ) ) 38.38.38.38. array_poparray_poparray_poparray_pop ()()()() 将数组最后一个单元弹出(出栈) 说明: mixed array_poparray_poparray_poparray_pop ( array &$array ) 参数: array 必需。规定输入的数组参数。 array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或 者不是数组)将返回 NULL。 使用此函数后会重置 array 指针。 例子: Array( [0] => orange [1] => banana [2] => apple ) 39.39.39.39. shuffle()shuffle()shuffle()shuffle() 将数组打乱 说明: bool shuffleshuffleshuffleshuffle ( array &$array ) 参数: Tomorrow the Sun array 必需。规定要使用的数组。 本函数打乱(随机排列单元的顺序)一个数组。 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。 例子: 1111,'joe'=>'4444','b'=>2222,'c'=>333,array(1,4,2,6)); shuffle($a); print_r($a); ?> Array ( [0] => 333 [1] => 2222 [2] => 1111 [3] => Array ( [0] => 1 [1] => 4 [2] => 2 [3] => 6 ) [4] => 4444 ) 40.40.40.40. countcountcountcount ()()()() 计算数组中的单元数目或对象中的属性个数 说明: int countcountcountcount ( mixed $var [, int $mode ]) 参数: var 必需。规定要计数的数组或对象。 mode 可选。规定函数的模式。可能的值: 0 - 默认。不检测多维数组(数组中的数组)。 1 - 检测多维数组。 注释:该参数是 PHP 4.2 中加入的。 返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。 对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 count(), 不会保留原有键名,会重新 排序称为一个索引数组。 Tomorrow the Sun 此方法返回 count() 函数的返回值。 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。 可选的 mode 参数自 PHP 4.2.0 起可用。如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递 归。 例子: 1111,'joe'=>'4444','b'=>2222,'c'=>333,array(1,4,2,6)); echo count($a); // 5 echo count($a,1); // 9 ?> 41.41.41.41. array_flip()array_flip()array_flip()array_flip() 交换数组中的键和值 说明: array array_fliparray_fliparray_fliparray_flip ( array $trans ) 参数: array 必需。规定输入的数组。 array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。 注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发 出一个警告,并且有问题的键/值对将不会反转。 如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。 array_flip() 如果失败返回 FALSE。 例子: 1111,'ccc'=>1111,'dddd'=>4444); $b = array_flip($a); print_r($b); ?> Array ( [1111] => ccc [4444] => dddd ) count() 对没有初始化的变 量返回 0,但对于空的数组 也会返回 0。用 isset() 来 测试变量是否已经初始化。 如果同一个值出现了多次,则 最后一个键名将作为它的值, 所有其它的都丢失了。 Tomorrow the Sun 1111,'222'=>null,'ccc'=>1111,'dddd'=>4444); $b = array_flip($a); print_r($b); ?> Array ([1111] => ccc [4444] => dddd ) 42.42.42.42. array_keys()array_keys()array_keys()array_keys() 返回数组中所有的键名 说明: array array_keysarray_keysarray_keysarray_keys ( array $input [, mixed $search_value [, bool $strict ]]) 参数: input 必需。规定输入的数组。 search_value 可选。指定值的索引(键)。 strict 可选。与 value 参数一起使用。可能的值: true - 根据类型返回带有指定值的键名。 false - 默认值。不依赖类型。 array_keys() 返回 input 数组中的数字或者字符串的键名。 如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。 自 PHP 5 起,可以用 strict 参数来进行全等比较(===)。 例子: 1111,'bbb'=>'2222','333'=>'dddd',333=>'eeee','fff'=>2222); $b = array_keys($a,'2222'); print_r($b); ?> Array ([0] => bbb [1] => fff ) 1111,'bbb'=>'2222','333'=>'dddd',333=>'eeee','fff'=>2222); $b = array_keys($a,'2222',1); print_r($b); ?> Array ([0] => bbb ) 注意数组中的值需要能够作为合 法的键名,例如需要是 integer 或 者 string。如果值的类型不对将发 出一个警告,并且有问题的键/值 对将不会反转。 第三个参数默认是 0,假如 为1,会比较第二个参数的 类型,必须全等于才会匹配 Tomorrow the Sun 43.43.43.43. array_values()array_values()array_values()array_values() 返回数组中所有的值 说明: array array_valuesarray_valuesarray_valuesarray_values ( array $input ) 参数: input 必需。规定给定的数组。 array_values() 返回 input 数组中所有的值并给其建立数字索引。 例子: '2222',333=>'eeee','fff'=>2222,null,array(1,’aa’=>24,5,4,4)); $b = array_values($a); var_dump($b); ?> Array ( [0] => 2222 [1] => eeee [2] => 2222 [3] => NULL [4] => Array ( [0] => 1 [aa] => 24 [1] => 5 [2] => 4 [3] => 4 ) ) 44.44.44.44. array_reversearray_reversearray_reversearray_reverse ()()()() 返回一个单元顺序相反的数组 说明: array array_reversearray_reversearray_reversearray_reverse ( array $array [, bool $preserve_keys ]) 参数: array 必需。规定数组。 preserve_keys 可选。规定是否保留原始数组的键名。可能的值:true 和 false。 这个参数是 PHP 4.0.3 中新加的。 第二维数组会当成一个元素进行处 理,所以第二维里的元素不会被重 新建立索引。 Tomorrow the Sun array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。 例子: '2222',333=>'eeee','fff'=>2222,null,array(1,'aa'=>24,5,4,4)); $b = array_reverse($a); print_r($b); ?> Array ( [0] => Array ( [0] => 1 [aa] => 24 [1] => 5 [2] => 4 [3] => 4 ) [1] => [fff] => 2222 [2] => eeee [bbb] => 2222 ) '2222',333=>'eeee','fff'=>2222,null,array(1,'aa'=>24,5,4,4)); $b = array_reverse($a,1); print_r($b); ?> Array ( [335] => Array ( [0] => 1 [aa] => 24 [1] => 5 [2] => 4 [3] => 4 ) [334] => [fff] => 2222 [333] => eeee 默认情况下,键名是数字的, 键名会被重新排序,不保留键 名;假如键名是字符串等,会 保留原键名。 第二维数组不受控制,被当成 一个元素处理。 第二个参数默认为 false,假如 为true,新数组会保留原数组 的键名。 Tomorrow the Sun [bbb] => 2222 ) 45.45.45.45. array_count_values()array_count_values()array_count_values()array_count_values() 统计数组中所有的值出现的次数 说明: array array_count_valuesarray_count_valuesarray_count_valuesarray_count_values ( array $input ) 参数: input 必需。规定输入的数组。 array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的 次数作为值。 例子: Array ( [1] => 2 [hello] => 2 [world] => 1 ) 46.46.46.46. array_rand()array_rand()array_rand()array_rand() 从数组中随机取出一个或多个单元 说明: mixed array_randarray_randarray_randarray_rand ( array $input [, int $num_req ]) 参数: input 必需。规定输入的数组参数。 num_req 可选。默认是 1。规定返回多少个随机的元素。 array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用。它接受 input 作为输入数组和一 个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1。 如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样 你就可以随机从数组中取出键名和值。 例子: 1111,'b'=>2222,'c'=>3333,'d'=>4444); $b = array_rand($a); 原数组必须是个一维数组, 如果是二维数组会报警告 错误。因为第二维数组不受 函数影响,被当成一个元素 处理,而数组作为键名是不 合法的。 Tomorrow the Sun $c = array_rand($a,2); echo $b; // b (随机出现) print_r($c); // array([0]=>aaa,[1]=>d)(随机出现) 47.47.47.47. eacheacheacheach ()()()() 返回数组中当前的键/值对并将数组指针向前移动一步 说明: array eacheacheacheach ( array &$array ) 参数: array 必需。规定要使用的数组。 返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键 名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。 如果内部指针越过了数组的末端,则 each() 返回 FALSE。 例子: Array { [1] => bob [value] => bob [0] => 0 [key] => 0 } 48.48.48.48. array_uniquearray_uniquearray_uniquearray_unique ()()()() 移除数组中重复的值 说明: array array_uniquearray_uniquearray_uniquearray_unique ( array $array ) 参数: array 必需。规定输入的数组。 array_unique() 接受 array 作为输入并返回没有重复值的新数组。 注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接 着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。 例子: 需要注意的是,返 回的始终是键名。 each ()常与list()配合使用 遍历数组。常见的为 while() 与each()和list()组合。 Tomorrow the Sun 1111,'bb'=>2222,'cc'=>'1111','dd'=>2222); $b = array_unique($a); print_r ($b); ?> Array ( [aa] => 1111 [bb] => 2222 ) 49.49.49.49. sort()sort()sort()sort() 对数组排序 说明: bool sortsortsortsort ( array &$array [, int $sort_flags ]) 参数: array 必需。输入的数组。 sort_flags 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。 可选的第二个参数 sort_flags 可以用以下值改变排序的行为: 排序类型标记: ·SORT_REGULAR- 正常比较单元(不改变类型) ·SORT_NUMERIC- 单元被作为数字来比较 ·SORT_STRING- 单元被作为字符串来比较 ·SORT_LOCALE_STRING- 根据当前的区域(locale)设置来把单元当作字符串 比较。PHP 4.4.0 和 5.0.2 新加。在 PHP 6 之前,使用了系统的区域设置, 可以用 setlocale() 来 改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。 在对含有混合类型值的数组排序时要小心,因为 sort() 可能会产生不可预知的结果。 例子: Tomorrow the Sun Array ( [0] => aa [1] => bb [2] => cc [3] => ee ) Array ( [0] =>NULL [1] => 0(string) [2] => 0(int) [3] => 2222(string) [4] => abc [5] => dong [6] => joe [7] => 17.4 [8] => 111(int) ) 50.50.50.50. rsortrsortrsortrsort ()()()() 对数组逆向排序 说明: bool rsortrsortrsortrsort ( array &$array [, int $sort_flags ]) 参数: array 必需。输入的数组。 sort_flags 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 本函数对数组进行逆向排序(最高到最低)。 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。 值若都为数字,会按照从小到 达进行排序,若都是字符串, 会按照首字母的顺序进行排 序。并且不会保留原有键名。 排序规律: false(7 种为false 的情况) --> 字符串 --> 整型和浮点型 Tomorrow the Sun 例子: Array ( [0] => php [1] => is [2] => hello [3] => awesome [4] => 1234 [5] => 123 [6] => 12 [7] => 1 ) 51.51.51.51. asortasortasortasort ()()()() 对数组进行排序并保持索引关系 说明: bool asortasortasortasort ( array &$array [, int $sort_flags ]) 参数: array 必需。输入的数组。 sort_flags 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进 行排序。 成功时返回 TRUE, 或者在失败时返回 FALSE. 例子: Array ( Tomorrow the Sun [5] => 1 [1] => 12 [7] => 123 [6] => 1234 [4] => awesome [0] => hello [3] => is [2] => php ) 52.52.52.52. arsortarsortarsortarsort ()()()() 对数组进行逆向排序并保持索引关系 说明: bool arsortarsortarsortarsort ( array &$array [, int $sort_flags ]) 参数: array 必需。输入的数组。 sorttype 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进 行排序。 成功时返回 TRUE, 或者在失败时返回 FALSE. 例子: Array ( [2] => php [3] => is [0] => hello [4] => awesome [6] => 1234 [7] => 123 [1] => 12 [5] => 1 Tomorrow the Sun ) 53.53.53.53. ksortksortksortksort ()()()() 对数组按照键名排序 说明: bool ksortksortksortksort ( array &$array [, int $sort_flags ]) 参数: array 必需。规定要排序的数组。 sort_flags 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 对数组按照键名排序,保留键名到数据的关联。本函数主要用于关联数组。 成功时返回 TRUE, 或者在失败时返回 FALSE。 例子: 1,'bb'=>1,'123'=>1,'abc'=>1,'323'=>1,124=>1111); ksort ($a); print_r($a); ?> Array ( [aa] => 1 [abc] => 1 [bb] => 1 [123] => 1 [124] => 1111 [323] => 1 ) 54.54.54.54. krsortkrsortkrsortkrsort ()()()() 对数组按照键名逆向排序 说明: bool krsortkrsortkrsortkrsort ( array &$array [, int $sort_flags ]) 参数: array 必需。规定要排序的数组。 字符串 --> 整型,假若字符串 中是数字,如”123”,属于整型 Tomorrow the Sun sort_flags 可选。规定如何排列数组的值。可能的值: SORT_REGULAR- 默认。以它们原来的类型进行处理(不改变类型)。 SORT_NUMERIC- 把值作为数字来处理 SORT_STRING- 把值作为字符串来处理 SORT_LOCALE_STRING- 把值作为字符串来处理,基于本地设置*。 对数组按照键名逆向排序,保留键名到数据的关联。主要用于结合数组。 成功时返回 TRUE, 或者在失败时返回 FALSE. 例子: 1,'bb'=>1,'123'=>1,'abc'=>1,'323'=>1,124=>1111); krsort ($a); print_r($a); ?> Array ( [323] => 1 [124] => 1111 [123] => 1 [bb] => 1 [abc] => 1 [aa] => 1 ) 55.55.55.55. natsortnatsortnatsortnatsort ()()()() 用““““自然排序””””算法对数组排序 说明: bool natsortnatsortnatsortnatsort ( array &$array ) 参数: array 必需。规定要进行排序的数组。 本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关 联,这被称为“自然排序”。本算法和通常的计算机字符串排序算法(用于 sort())的区别见下面示例。 成功时返回 TRUE, 或者在失败时返回 FALSE. 例子: 普通排序 Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) 自然排序 Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png ) 56.56.56.56. natcasesortnatcasesortnatcasesortnatcasesort ()()()() 用“自然排序”算法对数组进行不区分大小写字母的排序 说明: bool natcasesortnatcasesortnatcasesortnatcasesort ( array &$array ) 参数: array 必需。规定要进行排序的数组。 本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关 联,这被称为“自然排序”。 成功时返回 TRUE, 或者在失败时返回 FALSE. natcasesort() 是 natsort() 函数的不区分大小写字母的版本。 例子: 普通排序 Array ( [0] => IMG0.png [1] => IMG3.png [2] => img1.png [3] => img10.png [4] => img12.png [5] => img2.png ) 自然排序 Array ( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png ) 57.57.57.57. trimtrimtrimtrim ()()()() 去除字符串首尾处的空白字符(或者其他字符) 说明: string trimtrimtrimtrim ( string $str [, string $charlist ]) 参数: str 必需。规定要检查的字符串。 charlist 可选。规定要转换的字符串。 此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符: ·""(ASCII 32 (0x20)),普通空格符。 ·"\t" (ASCII 9 (0x09)),制表符。 ·"\n" (ASCII 10 (0x0A)),换行符。 ·"\r" (ASCII 13 (0x0D)),回车符。 ·"\0" (ASCII 0 (0x00)),空字节符。 ·"\x0B" (ASCII 11 (0x0B)),垂直制表符。 例子: 58.58.58.58. rtrim()rtrim()rtrim()rtrim() 删除字符串末端的空白字符(或者其他字符) 说明: string rtrimrtrimrtrimrtrim ( string $str [, string $charlist ]) 参数: str 必需。规定要检查的字符串。 charlist 可选。规定要转换的字符串。 该函数删除 str 末端的空白字符并返回。 不使用第二个参数,rtrim() 仅删除以下字符: ·""(ASCII 32 (0x20)),普通空白符。 ·"\t" (ASCII 9 (0x09)),制表符。 ·"\n" (ASCII 10 (0x0A)),换行符。 ·"\r" (ASCII 13 (0x0D)),回车符。 ·"\0" (ASCII 0 (0x00)),NUL 空字节符。 ·"\x0B" (ASCII 11 (0x0B)),垂直制表符。 例子: 多个特殊字符可直接罗 列,不区分先后顺序。 多个连贯的可用“..”连 接。 Tomorrow the Sun string(32) " These are a few words :)..." string(16) " Example string " string(11) "Hello World" string(30) " These are a few words :)..." string(26) " These are a few words :)" string(9) "Hello Wor" string(15) " Example string" 59.59.59.59. chop()chop()chop()chop() rtrim()rtrim()rtrim()rtrim() 的别名 60.60.60.60. ltrim()ltrim()ltrim()ltrim() 删除字符串左端的空白字符(或者其他字符) 说明: string ltrimltrimltrimltrim ( string $str [, string $charlist ]) 参数: str 必需。规定要检查的字符串。 charlist 可选。规定要转换的字符串。 该函数删除 str 左端的空白字符并返回。 不使用第二个参数,ltrim() 仅删除以下字符: ·""(ASCII 32 (0x20)),普通空白符。 ·"\t" (ASCII 9 (0x09)),制表符。 ·"\n" (ASCII 10 (0x0A)),换行符。 ·"\r" (ASCII 13 (0x0D)),回车符。 ·"\0" (ASCII 0 (0x00)),NUL 空字节符。 ·"\x0B" (ASCII 11 (0x0B)),垂直制表符。 例子: string(32) " These are a few words :)..." string(16) " Example string " string(11) "Hello World" string(30) "These are a few words :)..." string(30) "These are a few words :)..." string(7) "o World" string(15) "Example string " 61.61.61.61. dirname()dirname()dirname()dirname() 返回路径中的目录部分 说明: string dirnamedirnamedirnamedirname ( string $path ) 参数: path 必需。规定要检查的路径。 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。 在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。 例子: D:\web\www 62.62.62.62. str_pad()str_pad()str_pad()str_pad() 使用另一个字符串填充字符串为指定长度 说明: string str_padstr_padstr_padstr_pad ( string $input , int $pad_length [, string $pad_string = ""[, int $pad_type = STR_PAD_RIGHT]]) 参数: input 必需。规定要填充的字符串。 pad_length 必需。规定新字符串的长度。如果该值小于原始字符串的长度,则不进行任何操作。 pad_string 可选。规定供填充使用的字符串。默认是空白。 pad_type 可选。规定填充字符串的那边。 Tomorrow the Sun 可能的值: STR_PAD_BOTH- 填充到字符串的两头。如果不是偶数,则右侧获得额外的填充。 STR_PAD_LEFT- 填充到字符串的左侧。 STR_PAD_RIGHT- 填充到字符串的右侧。这是默认的。 该函数返回 input 被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参 数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度。 如果 pad_length 的值是负数,小于或者等于输入字符串的长度,不会发生任何填充。 如果填充字符的长度不能被 pad_string 整除,那么 pad_string 可能会被缩短。 例子: 63.63.63.63. str_repeat()str_repeat()str_repeat()str_repeat() 重复一个字符串 说明: string str_repeatstr_repeatstr_repeatstr_repeat ( string $input , int $multiplier ) 参数: input 必需。规定要重复的字符串。 multiplier 必需。规定字符串将被重复的次数。必须大于等于 0。 返回 input 重复 multiplier 次后的结果。 multiplier 为input 被重复的次数。 multiplier 必须大于等于 0。如果 multiplier 被设置为 0,函数返回 空字符串。 例子: 结果为: -=-=-=-=-=-=-=-=-=-= 结果为: string(0) "" Tomorrow the Sun 64.64.64.64. str_splitstr_splitstr_splitstr_split ()()()() 将字符串转换为数组 说明: array str_splitstr_splitstr_splitstr_split ( string $string [, int $split_length = 1 ]) 参数: string 必需。规定要分割的字符串。 split_length 可选。规定每个数组元素的长度。默认是 1。 将一个字符串转换为数组。 如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为 split_length 的字符块, 否则每个字符块为单个字符。 如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string 的长 度,整个字符串将作为数组仅有的一个元素返回。 例子: Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d ) Array ( [0] => Hel [1] => lo [2] => Fri Tomorrow the Sun [3] => end ) 65.65.65.65. strrevstrrevstrrevstrrev ()()()() 反转字符串 说明: string strrevstrrevstrrevstrrev ( string $string ) 参数: string 必需。规定要反转的字符串。 返回 string 反转后的字符串。 例子: 66.66.66.66. wordwrapwordwrapwordwrapwordwrap ()()()() 打断字符串为指定数量的字串 说明: string wordwrapwordwrapwordwrapwordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]]) 参数: str 必需。规定要进行折行的字符串。 width 可选。规定最大行宽度。默认是 75。 break 可选。规定作为分隔符使用的字符(字串断开字符)。默认是 "\n"。 cut 可选。规定是否对大约指定宽度的单词进行折行。默认是 FALSE(no-wrap)。 使用字符串断点将字符串打断为指定数量的字串。 如果 cut 设置为 TRUE,字符串总是在指定的宽度或者之前位置被打断。因此,如果有的单词宽度超过 了给定的宽度,它将被分隔开来。 例子: \n"); echo $newtext; ?> The quick brown fox
jumped over the lazy
dog. Tomorrow the Sun A very long wooooooo ooooord. 67.67.67.67. str_shuffle()str_shuffle()str_shuffle()str_shuffle() 随机打乱一个字符串 说明: string str_shufflestr_shufflestr_shufflestr_shuffle ( string $str ) 参数: str 必需。规定要打乱的字符串。 str_shuffle() 函数打乱一个字符串,使用任何一种可能的排序方案。 例子: 结果类似为: Sneouwr Thorto m 68.68.68.68. parse_strparse_strparse_strparse_str ()()()() 将字符串解析成变量 说明: void parse_strparse_strparse_strparse_str ( string $str [, array &$arr ]) 参数: str 必需。规定要解析的字符串。 arr 可选。规定存储变量的数组名称。该参数指示变量存储到数组中。 parse_str() 函数把查询字符串解析到变量中。 注释:如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。 注释:php.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之 前,变量会被 addslashes() 转换。 例子: Array ( [id] => 23 [name] => John Adams ) 69.69.69.69. number_formatnumber_formatnumber_formatnumber_format ()()()() 通过千位分组来格式化数字 说明: string number_formatnumber_formatnumber_formatnumber_format ( float $number , int $decimals = 0 , string $dec_point = '.', string $thousands_sep = ',') 参数: number 必需。要格式化的数字。 如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符。 decimals 可选。规定多少个小数。如果设置了该参数,则使用点号 (.) 作为小数点来格式化数 字。 dec_point 可选。规定用作小数点的字符串。 thousands_sep 可选。规定用作千位分隔符的字符串。 仅使用该参数的第一个字符。比如 "xyz" 仅输出 "x"。 注释:如果设置了该参数,那么所有其他参数都是必需的。 该函数支持一个、两个或四个参数(不是三个)。 例子: 1,000,000 1,000,000.00 Tomorrow the Sun 1.000.000,00 70.70.70.70. strtolowerstrtolowerstrtolowerstrtolower ()()()() 将字符串转化为小写 说明: string strtolowerstrtolowerstrtolowerstrtolower ( string $str ) 参数: str 必需。规定要转换的字符串。 将 string 中所有的字母字符转换为小写并返回。 注意 “字母” 与当前所在区域有关。例如,在默认的 “C” 区域,字符 umlaut-A(?)就不会被转换。 例子: 71.71.71.71. strtoupper()strtoupper()strtoupper()strtoupper() 将字符串转化为大写 说明: string strtoupperstrtoupperstrtoupperstrtoupper ( string $string ) 参数: 只有第一个参数,会保留小数点左边 的并进行千位分组,小数点右边的会 进行四舍五入。 当小数点右边的位数少于第 二个参数所指定的个数,会使 用0补齐。 第三个和第四个参数必须同 时出现或者同时忽略。 当小数点右边的位数多于第 二个参数所指定的个数,会将 多余的数进行四舍五入处理。 Tomorrow the Sun string 必需。规定要转换的字符串。 将 string 中所有的字母字符转换为大写并返回。 注意 “字母” 与当前所在区域有关。例如,在默认的 “C” 区域,字符 umlaut-a(?)就不会被转换。 例子: 72.72.72.72. ucfirstucfirstucfirstucfirst ()()()() 将字符串的首字母转换为大写 说明: string ucfirstucfirstucfirstucfirst ( string $str ) 参数: str 必需。规定要转换的字符串。 将 str 的首字符(如果首字符是字母)转换为大写字母,并返回这个字符串。 注意字母的定义取决于当前区域设定。例如,在默认的 “C” 区域,字符 umlaut-a(?)将不会被转换。 例子: 73.73.73.73. ucwordsucwordsucwordsucwords ()()()() 将字符串中每个单词的首字母转换为大写 说明: string ucwordsucwordsucwordsucwords ( string $str ) 参数: str 必需。规定要转换的字符串。 将 str 中每个单词的首字符(如果首字符是字母)转换为大写字母,并返回这个字符串。 这里单词的定义是紧跟在空白字符(空格符、制表符、换行符、回车符、水平线以及竖线)之后的子字 符串。 需要注意的是,只会将字符 串的首字母转换成大写,并 不是转换每个单词的首字 母。 假如字符串的首字母不是字 母,将不再转换。 Tomorrow the Sun 例子: 74.74.74.74. htmlentitles()htmlentitles()htmlentitles()htmlentitles() 函数把字符转换为 HTMLHTMLHTMLHTML 实体 说明: string htmlentitieshtmlentitieshtmlentitieshtmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]]) 参数: string 必需。规定要转换的字符串。 flags 可选。规定如何编码单引号和双引号。 ENT_COMPAT- 默认。仅编码双引号。 ENT_QUOTES- 编码双引号和单引号。 ENT_NOQUOTES- 不编码任何引号。 encoding 可选。字符串值,规定要使用的字符集。 ISO-8859-1 - 默认。西欧。 ISO-8859-15 - 西欧(增加 Euro 符号以及法语、芬兰语字母)。 UTF-8 -ASCII 兼容多字节 8 比特 Unicode cp866 -DOS 专用 Cyrillic 字符集 cp1251 - Windows 专用 Cyrillic 字符集 cp1252 - Windows 专用西欧字符集 KOI8-R - 俄语 GB2312 - 简体中文,国家标准字符集 BIG5 - 繁体中文 BIG5-HKSCS - Big5 香港扩展 Shift_JIS - 日语 EUC-JP- 日语 double_encode 规定是否处理字符串中的 HTML 实体,默认是 true 将字符转换成为 HTML 实体。 例子: Tomorrow the Sun ”; echo htmlentities($str); ?> <My name is Dong> <abcdef'dong'god 第四个参数为 true 的结果:<这里是中文,后面是实体字符&gt; 第四个参数为 false 的结果:<这里是中文,后面是实体字符> 75.75.75.75. htmlspecialchars()htmlspecialchars()htmlspecialchars()htmlspecialchars() 函数把一些预定义的字符转换为 HTMLHTMLHTMLHTML 实体 说明: string htmlspecialcharshtmlspecialcharshtmlspecialcharshtmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]]) 参数: string 必需。规定要转换的字符串。 flags 可选。规定如何编码单引号和双引号。 ENT_COMPAT- 默认。仅编码双引号。 ENT_QUOTES- 编码双引号和单引号。 ENT_NOQUOTES- 不编码任何引号。 encoding 可选。字符串值,规定要使用的字符集。 ISO-8859-1 - 默认。西欧。 ISO-8859-15 - 西欧(增加 Euro 符号以及法语、芬兰语字母)。 UTF-8 -ASCII 兼容多字节 8 比特 Unicode cp866 -DOS 专用 Cyrillic 字符集 cp1251 - Windows 专用 Cyrillic 字符集 cp1252 - Windows 专用西欧字符集 KOI8-R - 俄语 GB2312 - 简体中文,国家标准字符集 默认是仅仅将双引号转换成实体, 将第二个参数换成 ENT_QUOTES 会将单引号和双引号都转换成实 体。 第三个参数设置字符串的字符 集,会脱离开网页整体的字符集。 第四个参数默认是 true,假如字符串中有 html 实 体,会进行再次转换,在网页中显示的仍是字符 串中的样子;假如第四个参数为 false,不会对字 符串中的 html 实体进行再次转换,会保留,在网 页中转换成所对应的字符输出。 Tomorrow the Sun BIG5 - 繁体中文 BIG5-HKSCS - Big5 香港扩展 Shift_JIS - 日语 EUC-JP- 日语 double_encode 规定是否处理字符串中的 HTML 实体,默认是 true 预定义的字符包括: •&(和号) 成为 & •"(双引号) 成为 " •'(单引号) 成为 ' •< (小于) 成为 < •> (大于) 成为 > double_encode 规定是否处理字符串中的 HTML 实体,默认是 true。 例子: ”; echo htmlspecialchars($str); ?> <My name is Dong> <abcdef'dong'god 第四个参数为 true 的结果:<这里是中文,后面是实体字符&gt; 第四个参数为 false 的结果:<这里是中文,后面是实体字符> 76.76.76.76. nl2brnl2brnl2brnl2br ()()()() 在字符串所有新行之前插入 HTMLHTMLHTMLHTML 换行标记 htmlentities()htmlentities()htmlentities()htmlentities()和htmlspecialchars()htmlspecialchars()htmlspecialchars()htmlspecialchars()的区别: htmlentities 和 htmlspecialchars 的区别在于 htmlentities 会转化所有的 html character entity (HTML 字符实体),而htmlspecialchars 只会转化以上列出的几个 html character entity (也就是 会影响 html 解析的那几个基本字符)。一般来说,使用 htmlspecialchars 转化掉基本字符就已经 足够了,没有必要使用 htmlentities。有中文的时候,最好使用 htmlspecialchars,实在要使用 htmlentities 时,要注意为第三个参数传递正确的编码。 Tomorrow the Sun 说明: string nl2brnl2brnl2brnl2br ( string $string ) 参数: string 必需。规定要检查的字符串。 在字符串 string 所有新行(\n)之前插入 '
' 并返回。 例子: foo isn't
bar 77.77.77.77. strip_tagsstrip_tagsstrip_tagsstrip_tags ()()()() 从字符串中去除 HTMLHTMLHTMLHTML 和 PHPPHPPHPPHP 标记 说明: string strip_tagsstrip_tagsstrip_tagsstrip_tags ( string $str [, string $allowable_tags ]) 参数: str 必需。规定要检查的字符串。 allowable_tags 可选。规定允许的标签。这些标签不会被删除。 该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。它使用与函数 fgetss() 一 样的标记去除状态机。 allowable_tags 使用可选的第二个参数指定不被去除的字符列表。 由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。 该函数不会修改 allowable_tags 参数中指定的允许标记的任何属性,包括 style 和 onmouseover 属性, 用户可能会在提交的内容中恶意滥用这些属性,从而展示给其他用户。 该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。 例子: Dong"; echo strip_tags($str); ?> my name is Dong name is Dong"; echo strip_tags($str,''); ?> 需要注意的是,转换的字符 串必须是双引号或者定界 符包含起来的,因为单引号 是不能解析转义字符。 Tomorrow the Sun my name is Dong 78.78.78.78. addcslashesaddcslashesaddcslashesaddcslashes ()()()() 以 CCCC 语言风格使用反斜线转义字符串中的字符 说明: string addcslashesaddcslashesaddcslashesaddcslashes ( string $str , string $charlist ) 参数: str 必需。规定要检查的字符串。 charlist 可选。规定受 addcslashes() 影响的字符或字符范围。 返回字符串,该字符串在属于参数 charlist 列表中的字符前都加上了反斜线。如果 charlist 中包含有 \n, \r 等字符,将以 C语言风格转换,而其它非字母数字且 ASCII 码低于 32 以及高于 126 的字符均转换成使 用八进制表示。 当选择对字符 0,a,b,f,n,r,t 和 v 进行转义时需要小心,它们将被转换成 \0,\a,\b,\f,\n, \r,\t 和 \v。在 PHP 中,只有 \0(NULL),\r(回车符),\n(换行符)和 \t(制表符)是预定义的转义序 列, 而在C语言中,上述的所有转换后的字符都是预定义的转义序列。 charlist 参数,如“\0..\37”,将转义所有 ASCII 码介于 0 和 31 之间的字符。 另外,如果设置范围中的结束字符 ASCII 码高于开始字符,则不会创建范围,只是将开始字符、结束字 符以及其间的字符逐个转义。可使用 ord() 函数获取字符的 ASCII 码值。 例子: Hello, my name is John Adams. Hello, \my na\me is John Ada\ms. Hello, my name is \John Adams. Hello, my name is John Adams. \Hello, my name is \John \Adams. H\e\l\l\o, \m\y \n\a\m\e \i\s J\o\h\n A\d\a\m\s. H\ello, my n\am\e is Jo\hn A\d\ams. Tomorrow the Sun 79.79.79.79. stripcslashesstripcslashesstripcslashesstripcslashes ()()()() 反引用一个使用 addcslashes()addcslashes()addcslashes()addcslashes() 转义的字符串 说明: string stripcslashesstripcslashesstripcslashesstripcslashes ( string $str ) 参数: str 必需。规定要检查的字符串。 返回反转义后的字符串。可识别类似 C 语言的 \n,\r,... 八进制以及十六进制的描述。 该函数用于清理从数据库中取回的数据。 例子: Hello, my name is Kai Jim. 80.80.80.80. addslashesaddslashesaddslashesaddslashes ()()()() 指定的预定义字符前添加反斜线 说明: string addslashesaddslashesaddslashesaddslashes ( string $str ) 参数: str 必需。规定要检查的字符串。 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、 双引号(")、反斜线(\)与 NULL(NULL 字符)。 一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中, 这就需要对其进行转义。大多数据库使用 \ 作为转义符:O\'reilly。这样可以将数据放入数据库中,而不会 插入额外的 \。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。 默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动 运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双 层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 例子: "; echo addslashes($str) ." This is safe in a database query."; ?> Who's John Adams? This is not safe in a database query. Who\'s John Adams? This is safe in a database query. 当magic_quotes_gpc 为on 时,对字符串使用 addslashes() 进行处理,字符串会变成: joe\\\'\\\'\\\'\\\'joe Tomorrow the Sun 81.81.81.81. stripslashesstripslashesstripslashesstripslashes ()()()() 反引用一个引用字符串 说明: string stripslashesstripslashesstripslashesstripslashes ( string $str ) 参数: str 必需。规定要检查的字符串。 反引用一个引用字符串。 如果 magic_quotes_sybase 项开启,反斜线将被去除,但是两个反斜线将会被替换成一个。 一个使用范例是使用 PHP 检测 magic_quotes_gpc 配置项的 开启情况(默认是开启的)并且你不需要 将数据插入到一个需要转义的位置(例如数据库)。例如,你只是简单地将表单数据直接输出。 例子: Who's John Adams? 82.82.82.82. quotemetaquotemetaquotemetaquotemeta ()()()() 函数在字符串中某些预定义的字符前添加反斜杠。 说明: string quotemetaquotemetaquotemetaquotemeta ( string $str ) 参数: str 必需。规定要检查的字符串。 这些预定义字符是: •句号 (.) •反斜杠 (\) •加号 (+) •星号 (*) •问号 (?) •方括号 ([]) •脱字符号 (^) •美元符号 ($) •圆括号 (()) 该函数可用于转义拥有特殊意义的字符,比如 SQL 中的 ()、[] 以及 *。 例子: Hello world\. \(can you hear me\?\) Tomorrow the Sun 83.83.83.83. chrchrchrchr ()()()() 从指定的 ASCIIASCIIASCIIASCII 值返回字符 说明: string chrchrchrchr ( int $ascii ) 参数: ascii 必需。ASCII 值。 返回相对应于 ascii 所指定的单个字符。 ascii 参数可以是十进制、八进制或十六进制。通过前置 0 来规定八进制,通过前置 0x 来规定十六进 制。 例子: 4 * R 84.84.84.84. ordordordord ()()()() 返回字符的 ASCIIASCIIASCIIASCII 码值 说明: int ordordordord ( string $string ) 参数: string 必需。要从中获得 ASCII 值的字符串。 返回字符串 string 第一个字符的 ASCII 码值。 例子: addslashes()addslashes()addslashes()addslashes()、addcslashes()addcslashes()addcslashes()addcslashes()和quotemeta()quotemeta()quotemeta()quotemeta()的区别: addslashes()函数的作用是为字符串里面的部分字符添加反斜线转义字符, addslashes()函数只为 4个字符添 加转义,单引号“’”,双引号“””,反斜线“\”和NULL(“\0”)。 addcslashes()函数的作用也是对字符串添加转义,但是转义的字符必须由第二个参数指定。 quotemeta()函数的作用是对 11 个特定字符进行转义,包括:.\ + *?[ ^ ]( $ ) Tomorrow the Sun 100 100 85.85.85.85. strcasecmpstrcasecmpstrcasecmpstrcasecmp ()()()() 二进制安全比较字符串(不区分大小写) 说明: int strcasecmpstrcasecmpstrcasecmpstrcasecmp ( string $str1 , string $str2 ) 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 二进制安全比较字符串(不区分大小写)。 该函数返回: •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: 0 8 86.86.86.86. strcmpstrcmpstrcmpstrcmp ()()()() 二进制安全字符串比较 说明: int strcmpstrcmpstrcmpstrcmp ( string $str1 , string $str2 ) 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 比较两个字符串。 该函数返回: 注意,是字符串的第一个字 符的ASCII 值。 对大小写不敏感。 Tomorrow the Sun •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: -1 87.87.87.87. strncmpstrncmpstrncmpstrncmp ()()()() 二进制安全比较字符串开头的若干个字符 说明: int strncmpstrncmpstrncmpstrncmp ( string $str1 , string $str2 , int $len ) 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 len 必需。规定每个字符串用于比较的字符数。 该函数与 strcmp() 类似,不同之处在于你可以指定两个字符串比较时使用的长度(即最大比较长度)。 注意该比较区分大小写。 该函数返回: •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: 0 88.88.88.88. strncasecmpstrncasecmpstrncasecmpstrncasecmp ()()()() 二进制安全比较字符串开头的若干个字符(不区分大小写) 说明: int strncasecmpstrncasecmpstrncasecmpstrncasecmp ( string $str1 , string $str2 , int $len ) 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 对大小写敏感。 Tomorrow the Sun len 必需。规定每个字符串用于比较的字符数。 该函数返回: •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: 0 89.89.89.89. strnatcmpstrnatcmpstrnatcmpstrnatcmp ()()()() 使用自然排序算法比较字符串 说明: int strnatcmpstrnatcmpstrnatcmpstrnatcmp ( string $str1 , string $str2 ) 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 该函数实现了以人类习惯对数字型字符串进行排序的比较算法,这就是“自然顺序”。注意该比较区分大 小写。 在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的 第一个数字。 该函数返回: •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: "; echo strnatcmp("10Hello world!","2Hello world!"); ?> -1 1 90.90.90.90. strnatcasecmpstrnatcasecmpstrnatcasecmpstrnatcasecmp ()()()() 使用“自然顺序”算法比较字符串(不区分大小写) 说明: int strnatcasecmpstrnatcasecmpstrnatcasecmpstrnatcasecmp ( string $str1 , string $str2 ) Tomorrow the Sun 参数: str1 必需。规定要比较的第一个字符串。 str2 必需。规定要比较的第二个字符串。 该函数实现了以人类习惯对数字型字符串进行排序的比较算法,这就是“自然顺序”。注意该比较不区分 大小写。 在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的 第一个数字。 该函数返回: •0 - 如果两个字符串相等 •<0 - 如果 string1 小于 string2 •>0 - 如果 string1 大于 string2 例子: "; echo strnatcmp("10Hello world!","2Hello world!"); ?> -1 1 91.91.91.91. chunk_splitchunk_splitchunk_splitchunk_split ()()()() 将字符串分割成小块 说明: string chunk_splitchunk_splitchunk_splitchunk_split ( string $body [, int $chunklen [, string $end ]]) 参数: body 必需。规定要分割的字符串。 chunklen 可选。一个数字,定义字符串块的长度。 end 可选。字符串值,定义在每个字符串块之后放置的内容。 使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义 的字符串。它会在每 chunklen(默认为 76)个字符后边插入 end(默认为“\r\n”)。此函数会返回新的字符 串,而不会修改原有字符串。 例子: Hello ...world!... Tomorrow the Sun my n....ame ....is d....ong.... 92.92.92.92. strtokstrtokstrtokstrtok ()()()() 标记分割字符串 说明: string strtokstrtokstrtokstrtok ( string $str , string $token ) string strtokstrtokstrtokstrtok ( string $token ) 参数: str 必需。规定要分割的字符串。 token 必需。规定一个或多个分割字符。 strtok() 将字符串 str 分割为若干子字符串,每个子字符串以 token 中的字符分割。这也就意味着,如 果有个字符串是 "This is an example string",你可以使用空格字符将这句话分割成独立的单词。 注意仅第一次调用 strtok 函数时使用 string 参数。后来每次调用 strtok,都将只使用 token 参数,因 为它会记住它在字符串 string 中的位置。如果要重新开始分割一个新的字符串,你需要再次使用 string 来 调用 strtok 函数,以便完成初始化工作。注意可以在 token 参数中使用多个字符。字符串将被该参数中任 何一个字符分割。 此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值,例如 0 或 ""(空串)。 例子: Good '; $aaa = strtok(' '); } ?> Good morning everyone. My 第一次输出,只会显示原字符 串分隔后的第一段。再次使用 strtok()时会从第二段开始。意 思有点数组里的指针向下移 动一位。但是strtok()返回的是 字符串,不存在指针的概念。 Tomorrow the Sun name is Dong '; $a = strtok(' !#a'); } ?> I lik e pl y footb ll 93.93.93.93. explodeexplodeexplodeexplode ()()()() 使用一个字符串分割另一个字符串 说明: array explodeexplodeexplodeexplode ( string $separator , string $string [, int $limit ]) 参数: separator 必需。规定在哪里分割字符串。 string 必需。要分割的字符串。 limit 可选。规定所返回的数组元素的最大数目。 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界 点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的 剩余部分。 如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找 不到,那么 explode() 将返回包含 string 单个元素的数组。 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参 数在 string 参数之前才行。 例子: Array strtok()的strtok 参数可以有多个字 符,字符串会被这些字符中的任意一 个分隔。 并且不是简单的分隔,会把在原字符 串中出现的strtok参数中的字符删除 掉。 Tomorrow the Sun ( [0] => my [1] => name [2] => is [3] => Dong ) Array ( [0] => my [1] => name is Dong ) Array ( [0] => my [1] => name [2] => is ) 94.94.94.94. implodeimplodeimplodeimplode ()()()() 将数组值用预订字符连接成字符串 说明: string implodeimplodeimplodeimplode ( string $glue , array $pieces ) 参数: glue 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。 pieces 必需。要结合为字符串的数组。 把数组元素组合为一个字符串。 虽然 glue 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。 例子: 如果设置了 limit 参数,则返回的 数组包含最多 limit 个元素,而最 后那个元素将包含 string 的剩余 部分。 假如limit 参数为负数,会 从后往前数 limit 个舍去, 将剩下的组成数组返回。 Tomorrow the Sun lastname,email,phone 95.95.95.95. substrsubstrsubstrsubstr ()()()() 返回字符串的子串 说明: string substrsubstrsubstrsubstr ( string $string , int $start [, int $length ]) 参数: string 必需。规定要返回其中一部分的字符串。 start 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回 负数 - 从字符串末端返回 0 - 将返回一个空字符串 返回字符串 string 由 start 和 length 参数指定的子字符串。 如果 start 是负数且 length 小于等于 start,则 length 为 0。 例子: world string(0) "" bool(false) 96.96.96.96. str_replacestr_replacestr_replacestr_replace ()()()() 子字符串替换 说明: mixed str_replacestr_replacestr_replacestr_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ]) 当第二个参数和第三个参数 之间设定的范围出现交集, 将返回空字符串。 如果 string 的长度小于或等 于 start,将返回 FALSE。 Tomorrow the Sun 参数: search 必需。规定要查找的值。 replace 必需。规定替换 search 中的值的值。 subject 必需。规定被搜索的字符串。 count 可选。一个变量,对替换数进行计数。 该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之 后的结果。 如果没有一些特殊的替换需求(比如正则表达式),你应该使用该函数替换 ereg_replace() 和 preg_replace()。 该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。 如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。如果 replace 的 值的个数少于 search 的个数,多余的替换将使用空字符串来进行。如果 search 是一个数组而 replace 是一 个字符串,那么 search 中每个元素的替换将始终使用这个字符串。该转换不会改变大小写。 如果 search 和 replace 都是数组,它们的值将会被依次处理。 由于 str_replace() 的替换时从左到右依次进行的,进行多重替换的时候可能会替换掉之前插入的值。 例子: $bodytag = str_replace("%body%", "black", ""); // 赋值: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A","E","I","O","U"); $onlyconsonants = str_replace($vowels, "","Hello World of PHP"); // 赋值: You should eat pizza, beer, and ice cream every day $phrase = "You should eat fruits, vegetables, and fiber every day."; $healthy = array("fruits", "vegetables", "fiber"); $yummy = array("pizza", "beer", "ice cream"); $newphrase = str_replace($healthy, $yummy, $phrase); // 赋值: 2 $str = str_replace("ll", "","good golly miss molly!", $count); echo $count; ?> '; // 首先替换 \r\n 字符,因此它们不会被两次转换 $newstr = str_replace($order, $replace, $str); // 输出 F,因为 A 被 B 替换,B 又被 C 替换,以此类推... // 由于从左到右依次替换,最终 E 被 F 替换 $search = array('A', 'B','C','D','E'); $replace = array('B', 'C','D','E','F'); $subject = 'A'; echo str_replace($search, $replace, $subject); // 输出: apearpearle pear // 由于上面提到的原因 $letters = array('a', 'p'); $fruit = array('apple', 'pear'); $text = 'a p'; $output = str_replace($letters, $fruit, $text); echo $output; ?> '; $c = 'My name is Dong'; echo str_replace($a,$b,$c); ?> My

Dong 97.97.97.97. str_ireplacestr_ireplacestr_ireplacestr_ireplace ()()()() 函数使用一个字符串替换字符串中的另一些字符。 说明: mixed str_ireplacestr_ireplacestr_ireplacestr_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ]) 参数: search 必需。规定要查找的值。 replace 必需。规定替换 search 中的值的值。 subject 必需。规定被搜索的字符串。 如果 replace 的值的个数少于 search 的个数,多余的替换将 使用空字符串来进行。 如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始 终使用这个字符串。 Tomorrow the Sun count 可选。一个变量,对替换数进行计数。 str_replace() 的忽略大小写版本,具体与 str_replace()相同。 该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换(忽 略大小写)之后的结果。如果没有一些特殊的替换规则,你应该使用该函数替换带有 i 修正符的 preg_replace() 函数。 该函数对大小写不敏感。 例子: Hello John! 98.98.98.98. substr_countsubstr_countsubstr_countsubstr_count ()()()() 计算字串出现的次数 说明: int substr_countsubstr_countsubstr_countsubstr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]]) 参数: haystack 必需。规定要检查的字符串。 needle 必需。规定要检索的字符串。 offset 可选。规定在字符串中何处开始搜索。 length 可选。规定搜索的长度。 substr_count() 返回子字符串 needle 在字符串 haystack 中出现的次数。注意 needle 区分大小写。 例子: 14,所以生成警告 echo substr_count($text, 'is', 5, 10); Tomorrow the Sun // 输出 1,因为该函数不计算重叠字符串 $text2 = 'gcdgcdgcd'; echo substr_count($text2, 'gcdgcd'); ?> 99.99.99.99. substr_replacesubstr_replacesubstr_replacesubstr_replace ()()()() 替换字符串的子串 说明: mixed substr_replacesubstr_replacesubstr_replacesubstr_replace ( mixed $string , string $replacement , int $start [, int $length ]) 参数: string 必需。规定要检查的字符串。 replacement 必需。规定要插入的字符串。 start 必需。规定在字符串的何处开始替换。 正数 - 在第 start 个偏移量开始替换 负数 - 在从字符串结尾的第 start 个偏移量开始替换 0 - 在字符串中的第一个字符处开始替换 length 可选。规定要替换多少个字符。 正数 - 被替换的字符串长度 负数 - 从字符串末端开始的被替换字符数 0 - 插入而非替换 substr_replace() 在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换。 例子: \n"; /* 这两个例子使用 “bob” 替换整个 $var。*/ echo substr_replace($var, 'bob', 0) ."
\n"; echo substr_replace($var, 'bob', 0, strlen($var)) ."
\n"; /* 将 “bob” 插入到 $var 的开头处。*/ echo substr_replace($var, 'bob', 0, 0) ."
\n"; /* 下面两个例子使用 “bob” 替换 $var 中的 “MNRPQR”。*/ echo substr_replace($var, 'bob', 10, -1) ."
\n"; Tomorrow the Sun echo substr_replace($var, 'bob', -7, -1) ."
\n"; /* 从 $var 中删除 “MNRPQR”。*/ echo substr_replace($var, '', 10, -1) ."
\n"; ?> 100.100.100.100. similar_textsimilar_textsimilar_textsimilar_text ()()()() 计算两个字符串的匹配字符的数目 说明: int similar_textsimilar_textsimilar_textsimilar_text ( string $first , string $second [, float &$percent ]) 参数: first 必需。规定要比较的第一个字符串。 second 必需。规定要比较的第二个字符串。 percent 可选。规定供存储百分比相似度的变量名。 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行。注意该实现没有使用 Oliver 虚拟码中的堆 栈,但是却进行了递归调用,这个做法可能会导致整个过程变慢或变快。也请注意,该算法的复杂度是 O(N**3),N 是最长字符串的长度。 该函数不仅仅可以匹配字符的数目,也可以计算两个字符串的相似度(以百分比计)。 levenshtein() 函数比 similar_text() 函数更快。不过,similar_text() 函数通过更少的必需修改次数提供更 精确的结果。 例子: 2 63.6363636364 101.101.101.101. strrchrstrrchrstrrchrstrrchr ()()()() 查找指定字符在字符串中的最后一次出现 说明: string strrchrstrrchrstrrchrstrrchr ( string $haystack , mixed $needle ) 参数: haystack 必需。规定被搜索的字符串。 区分大小写;不算空格;只要 相等即可,不考虑顺序。 Tomorrow the Sun needle 必需。规定要查找的字符。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。 该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。 该函数返回字符串的一部分。如果 needle 未被找到,返回 FALSE。 如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()。 如果 needle 不是一个字符串,那么将被转化为整型并搜索匹配数字 ASCII 值的字符。 例子: is dong is dong 102.102.102.102. strstrstrstrstrstrstrstr ()()()() 查找字符串的首次出现 说明: string strstrstrstrstrstrstrstr ( string $haystack , mixed $needle [, bool $before_needle = false ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字 ASCII 值的字符。 before_needle 可选。若为 TRUE,将返回 needle 在 haystack 中的位置之前的部分。(自PHP 5.3.0) 返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。 该函数区分大小写。如果想要不区分大小写,请使用 stristr()。 如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。 该函数返回字符串的一部分。如果 needle 未被找到,返回 FALSE。 例子: name is dong 字母i的ASCII码值是105 字母n的ASCII 码值是 110 Tomorrow the Sun name is dong 103.103.103.103. strchrstrchrstrchrstrchr ()()()() strstr()strstr()strstr()strstr()的别名 104.104.104.104. stristr()stristr()stristr()stristr() 函数查找字符串在另一个字符串中第一次出现的位置,strstr()strstr()strstr()strstr() 函数的忽略大小写版本 说明: string stristrstristrstristrstristr ( string $haystack , mixed $needle [, bool $before_needle = false ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定要查找的字符。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的 字符。 before_needle 可选。若为 TRUE,将返回 needle 在 haystack 中的位置之前的部分。(自PHP 5.3.0) 返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。 参数 needle 和 haystack 将以不区分大小写的方式对待。 返回匹配的子字符串。如果 needle 未找到,返回 FALSE。 例子: Name is dong o world! 105.105.105.105. strtrstrtrstrtrstrtr ()()()() 转换指定字符 说明: string strtrstrtrstrtrstrtr ( string $str , string $from , string $to ) string strtrstrtrstrtrstrtr ( string $str , array $replace_pairs ) 参数: str 必需。规定要转换的字符串。 from 必需(除非使用数组)。规定要改变的字符。 to 必需(除非使用数组)。规定要改变为的字符。 replace_pairs 必需(除非使用 from 和 to)。一个数组,其中的键是原始字符,值是目标字符。格式 array('from' => 'to', ...) Tomorrow the Sun 该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符。 如果 from 与 to 长度不相等,那么多余的字符部分将被忽略。 如果 replace_pairs 中包含一个空字符串("")键,那么将返回 FALSE。 例子: my came is Dbcd 'abcd','play'=>'do'); echo strtr ($aaa,$arr); ?> my name is Dong,I like doing. 106.106.106.106. strposstrposstrposstrpos ()()()() 查找字符串首次出现的位置 说明: int strposstrposstrposstrpos ( string $haystack , mixed $needle [, int $offset = 0 ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定要查找的字符。 offset 可选。规定开始搜索的位置。 返回 needle 在 haystack 中首次出现的数字位置。与 strrpos() 不同,在 PHP 5 之前,该函数可以使用 一个完整字符串作为 needle,并且整个字符串都将被使用。 以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值或等同于 FALSE 的非布 尔值,例如 0 或 ""(空串)。 该函数对大小写敏感。如需进行对大小写不敏感的搜索,请使用 stripos() 函数。 例子: 7 bool(false) 12 107.107.107.107. striposstriposstriposstripos ()()()() 查找字符串首次出现的位置(不区分大小写) 说明: int striposstriposstriposstripos ( string $haystack , string $needle [, int $offset = 0 ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定要查找的字符。 offset 可选。规定开始搜索的位置。 返回在字符串 haystack 中 needle 首次出现的数字位置。 与 strpos() 不同,stripos() 不区分大小写。 以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值或等同于 FALSE 的非布 尔值,例如 0 或 ""(空串)。 例子: 6 108.108.108.108. strrposstrrposstrrposstrrpos ()()()() 计算指定字符串在目标字符串中最后一次出现的位置 说明: int strrposstrrposstrrposstrrpos ( string $haystack , string $needle [, int $offset = 0 ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定要查找的字符。 offset 可选。规定开始搜索的位置。 返回字符串 haystack 中 needle 最后一次出现的数字位置。注意 PHP4 中,needle 只能为单个字符。 如果 needle 被指定为一个字符串,那么将仅使用第一个字符。 该函数对大小写敏感。如需进行大小写不敏感的查找,请使用 strripos()。 Tomorrow the Sun 以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值或等同于 FALSE 的非布 尔值,例如 0 或 ""(空串)。 例子: 20 109.109.109.109. strriposstrriposstrriposstrripos ()()()() 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写) 说明: int strriposstrriposstrriposstrripos ( string $haystack , string $needle [, int $offset = 0 ]) 参数: haystack 必需。规定被搜索的字符串。 needle 必需。规定要查找的字符。 offset 可选。规定开始搜索的位置。 以不区分大小写的方式查找指定字符串在目标字符串中最后一次出现的位置。与 strrpos() 不同,strripos() 不区分大小写。 以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值或等同于 FALSE 的非布 尔值,例如 0 或 ""(空串)。 例子: 6 110.110.110.110. strspnstrspnstrspnstrspn ()()()() 计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度。 Tomorrow the Sun 说明: int strspnstrspnstrspnstrspn ( string $subject , string $mask [, int $start [, int $length ]]) 参数: subject 必需。规定被搜索的字符串。 mask 必需。规定要查找的字符。 start 可选。规定在字符串的何处开始。(从0开始) length 可选。规定字符串的长度。 返回 subject 中全部字符都存在于 mask 中的第一组连续字符(子字符串)的长度。 如果省略了 start 和 length 参数,则检查整个 subject 字符串;如果指定了这两个参数,则效果等同于 调用 strspn(substr($subject, $start, $length), $mask)(更多信息,参见 substr )。 返回 str1 中第一段全部字符都存在于 str2 范围的字符串的长度。 例子: 5 3 // 匹配到的是 llo 111.111.111.111. strcspnstrcspnstrcspnstrcspn ()()()() 获取不匹配遮罩的起始子字符串的长度 说明: int strcspnstrcspnstrcspnstrcspn ( string $str1 , string $str2 [, int $start [, int $length ]]) 参数: str1 必需。规定要搜索的字符串。 str2 必需。规定要查找的字符。 start 可选。规定开始查找的位置。该参数是 PHP 4.3 中新加的。 length 可选。规定字符串的长度(搜索多少字符)。该参数是 PHP 4.3 中新加的。 返回 str1 中,所有字符都不存在于 str2 范围的起始子字符串的长度。 例子: int(0) int(0) int(2) int(2) 5 int(4) int(0) 112.112.112.112. str_word_countstr_word_countstr_word_countstr_word_count ()()()() 返回字符串中单词的使用情况 说明: mixed str_word_countstr_word_countstr_word_countstr_word_count ( string $string [, int $format = 0 [, string $charlist ]]) 参数: string 必需。规定要检查的字符串。 format 可选。规定 str_word_count() 函数的返回值。 可能的值: 0 - 默认。返回找到的单词的数目。 1 - 返回包含字符串中的单词的数组。 2 - 返回一个数组,其中的键是单词在字符串中的位置,值是实际的单词。 charlist 可选。规定被认定为单词的特殊字符。该参数是 PHP 5.1 中新加的。 统计 string 中单词的数量。如果可选的参数 format 没有被指定,那么返回值是一个代表单词数量的整 型数。如果指定了 format 参数,返回值将是一个数组,数组的内容则取决于 format 参数。format 的可能 值和相应的输出结果如下所列。 对于这个函数的目的来说,单词的定义是一个与区域设置相关的字符串。这个字符串可以包含字母字符, 会将str1字符串里的每一个 字符去 str2 里依次匹配,直 到匹配到一个,返回之前没 匹配到的字符的个数。 区分大小写。 Tomorrow the Sun 也可以包含 "'" 和 "-" 字符(但不能以这两个字符开始)。 例子: 2 Array ( [0] => Hello [1] => world ) Array ( [0] => Hello [6] => world ) Array ( [0] => Hello [1] => world [2] => good [3] => morning ) Array ( [0] => Hello [1] => world [2] => & [3] => # [4] => good [5] => morning [6] => ! ) Tomorrow the Sun 113.113.113.113. strlenstrlenstrlenstrlen ()()()() 获取字符串长度 说明: int strlenstrlenstrlenstrlen ( string $string ) 参数: string 必需。规定要检查的字符串。 返回给定的字符串 string 的长度。 成功则返回字符串 string 的长度;如果 string 为空,则返回 0。 例子: 10 114.114.114.114. count_charscount_charscount_charscount_chars ()()()() 返回字符串所用字符的信息 说明: mixed count_charscount_charscount_charscount_chars ( string $string [, int $mode ]) 参数: string 必需。规定要检查的字符串。 mode 可选。规定返回模式。默认是 0。有以下不同的返回模式: 0 - 数组,ASCII 值为键名,出现的次数为键值 1 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数大于 0 的值 2 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数等于 0 的值 3 - 字符串,带有所有使用过的不同的字符 4 - 字符串,带有所有未使用过的不同的字符 count_chars() 函数返回字符串所用字符的信息。 例子: Array ( Tomorrow the Sun [32] => 1 [33] => 1 [72] => 1 [87] => 1 [100] => 1 [101] => 1 [108] => 3 [111] => 2 [114] => 1 ) !HWdelor 115.115.115.115. md5md5md5md5 ()()()() 计算字符串的 MD5MD5MD5MD5 散列值 说明: string md5md5md5md5 ( string $str [, bool $raw_output = false ]) 参数: string 必需。规定要计算的字符串。 charlist 可选。规定十六进制或二进制输出格式: TRUE- 原始 16 字符二进制格式 FALSE- 默认。32 字符十六进制数 注释:该参数是 PHP 5.0 中添加的。 md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。 如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。 由于此函数依赖的算法已不足够复杂,不推荐使用此函数对明文密码加密。 例子: 8b1a9953c4611296a827abf8c47804d7 Hello world!"; 输出的字符串最前面有 个空格,是按照 ASCII 值 从小到大排列出的。 Tomorrow the Sun exit; } ?> Hello world!
还剩83页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

xcy2

贡献于2015-08-31

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!