
😄这是一道妥妥的字符串操作题呀,源于某道面试题,玩一玩,开心就好。
使用 pathinfo 函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return pathinfo($path, PATHINFO_EXTENSION); }
|
或者
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return pathinfo($path)['extension']; }
|
使用 preg_split 函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
function ext_name(string $path): string { $array = preg_split('/[\\.]/', $path);
return $array[count($array) - 1]; }
|
使用 end 函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
function ext_name(string $path): string { $array = explode('.', $path);
return end($array); }
|
使用 strrchr 函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return substr(strrchr($path, '.'), 1); }
|
使用 strrpos 函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return substr($path, strrpos($path, '.') + 1); }
|
使用 preg_replace 函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return preg_replace('/^.*\.([^.]+)$/D', "$1", $path); }
|
使用 SplFileInfo 类
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php
function ext_name(string $path): string { return (new \SplFileInfo($path))->getExtension(); }
|
函数调用:
1 2 3
| <?php
echo ext_name($_SERVER['PHP_SELF']);
|
输出结果: