<?php $str = ‘D:\phpStudy\WWW\dingcan\console\index.123.45.php‘; function get_ext1($str){ return substr(strrchr($str,‘.‘),1); } echo get_ext1($str).‘<br />‘; function get_ext2($str){ return substr($str,strrpos($str,‘.‘)+1); } echo get_ext2($str).‘<br />‘; function get_ext3($str){ return end(explode(‘.‘,$str)); } echo get_ext3($str).‘<br />‘; function get_ext4($str){ return array_pop(explode(‘.‘,$str)); } echo get_ext4($str).‘<br />‘; function get_ext5($str){ $file_info = pathinfo($str); return $file_info[‘extension‘]; } echo get_ext5($str).‘<br />‘; function get_ext6($str){ return pathinfo($str,PATHINFO_EXTENSION); } echo get_ext6($str).‘<br />‘; ?>
我学到了如下PHP内置函数:
string substr ( string $string
, int $start
[, int $length
] );
字符串截取,返回字符串的子串
第一个参数是被截取的字符串,第二个是截取的起始位置,第三个是要截取的长度。返回值为string 错误返回值为FALSE
第二个参数是从零开始计算,并且返回值包含起始位置!可以为负数从-1开始计数,例如-2就表示返回末尾的两个字符。
第三个参数也可以为负数,正数表示从开始位置往后的长度,负数表示从末尾位置往前的长度。
=====================================================================================================
string strrchr ( string $haystack
, mixed $needle
)
在字符串中查到指定子串最后一次出现的位置,并返回包含该位置之后的所有子串。返回值为string 错误返回值为FALSE
第一个参数是被查找的字符串,第二个参数是用来查找的子串。
雷同函数:
string strstr ( string $haystack
, mixed $needle
[, bool $before_needle
= false ] ) //在字符串中查到指定子串第一次出现的位置,并返回包含该位置之后的所有子串。返回值为string 错误返回值为FALSE
string stristr ( string $haystack
, mixed $needle
[, bool $before_needle
= false ] ) //strstr的忽略大小写的版本
=========================================================================================================
int strrpos ( string $haystack
, string $needle
[, int $offset
= 0 ] )
返回字符串中指定子串最后一次出现的位置。返回值int 错误返回值FALSE
第一个参数被查找的字符串,第二个参数用来查找的子串(只能为单个字符,如果传过来的是字符串只会用第一个字符)。
注意找到位置返回值为0和没找到返回值为false容易发生混淆,所以判断的时候用 ===。
雷同函数:
mixed strpos ( string $haystack
, mixed $needle
[, int $offset
= 0 ] ) //返回字符串中指定子串第一次出现的位置。返回值int 错误返回值FALSE
int stripos ( string $haystack
, string $needle
[, int $offset
= 0 ] ) //返回字符串中指定子串第一次出现的位置。返回值int 错误返回值FALSE(不区分大小写)
int strripos ( string $haystack
, string $needle
[, int $offset
= 0 ] ) //返回字符串中指定子串最后一次出现的位置。返回值int 错误返回值FALSE(不区分大小写)
=========================================================================================================
array explode ( string $delimiter
, string $string
[, int $limit
] )
使用一个字符串分割另一个字符串 返回值为数组 错误时为FALSE或者空数组
第一个参数是用来分隔的字符串 ,第二个参数是被分割的字符串,第三个参数可以为正或者负,具体用法参见手册。
当第三个参数为正数例如2,那么返回的数组中只有2个元素,第二个为分隔符后的剩余所有字符串;如果为负数,例如-2那么只会返回除了倒数第二个元素之外的其他元素。
雷同函数:
string implode ( string $glue
, array $pieces
) //将一个一维数组的值转化为字符串 参数顺序和用法 雷同explode
=====================================================================================================
mixed end ( array &$array
)
将数组的内部指针移动到最后一个单元并返回其值。 返回值为最后一个元素的值 错误时为FALSE
参数为数组,这里需要注意的是这个函数的参数默认为引用传递。
===========、=========================================================================================
mixed array_pop ( array &$array
)
将数组最后一个元素弹出(出栈),返回值为最后一个元素,错误时返回NULL
参数为数组,注意这里是引用传递,所以在调用完这个函数后,传递过来的数组中最后一个元素就被删除了。
===============、=====================================================================================
mixed pathinfo ( string $path
[, int $options
= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
返回文件路径的信息,返回值是一个关联数组,错误时返回的也是数组不过值都为空;
参数为文件的路径。其中返回的关联数组中包含四个元素分别为:dirname,basename,extension,filename。
原文:http://www.cnblogs.com/foryuhang/p/6391347.html