PHP substr()函数的几个程序应用

一 在下面几个程序应用中涉及到的函数php

1 substr(string,start,length)数组

(1)函数做用:返回字符串的一部分。

(2)参数介绍:

    string:必需。规定须要返回其中一部分的字符串,即原字符串。

    start:必需。规定在字符串的何处开始。正数值,在字符串的指定位置开始(注:字符串的起始位置是0);负数值,从字符串结尾的指定位置开始(注:字符串的结束位置是-1); 0,在字符串中的第一个字符处开始。

     length:可选。规定要返回的字符串长度。默认是直到字符串的结尾。正数值,从start参数所在的位置开始返回改长度的字符串;负数值,从start开始至该值以前的字符串  。

2 strrchr(string, char);函数

(1)函数的做用:查找字符串在另外一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的全部字符。若是查找失败,则返回false

(2)参数介绍:

    string:必需。规定被搜索的字符串。

    char:必需。规定要查找的字符。若是该参数是数组,则搜索匹配数字ASCII值得字符。

3 strlen(string)rest

(1)函数的做用:返回字符串的长度

(2)参数的介绍:

    string:必需。规定要检查的字符串。

4 is_numeric(mixed $var)code

(1)函数的做用:监测变量是否为数字或数字字符串

(2)参数介绍:

    $var:若是var是数字或数字字符串则返回TRUE,不然返回FALSE。

(3)其余判断类型的函数:is_bool(), is_float(), is_int(), is_string(), is_object(), is_array()和is_integer().

2、应用示例展现orm

示例1:负值的start参数rem

<!-- lang: php -->
<?php 
<!-- lang: php -->
    $rest = substr("abcdef", -1);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
    $rest = substr("abcdef", -2);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
    $rest = substr('abcdef', -3, 1);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
?>

程序运行结果:

f

ef

d

示例2:负值的length参数字符串

<!-- lang: php -->
<?php 
<!-- lang: php -->
    $rest = substr("abcdef", 0, -1);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
    $rest = substr("abcdef", 2, -1);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
    $rest = substr("abcdef", 4, -4);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
    $rest = substr("abcdef", -3, -1);
<!-- lang: php -->
    echo $rest.'<br>';
<!-- lang: php -->
?>

程序运行结果:

abcde    

cde



de

示例3:基本的substr()函数用法string

<!-- lang: php -->
<?php 
<!-- lang: php -->
    echo substr("abcdef", 1);
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    echo substr("abcdef", 1, 3);
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    echo substr("abcdef", 0, 4);
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    echo substr("abcdef", 0 ,8);
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    echo substr("abcdef", -1, 1);
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    //Accessing single charecters in a string
<!-- lang: php -->
    //can also be achieved using  "square brackets"
<!-- lang: php -->
    $string = 'abcdef';
<!-- lang: php -->
    echo $string[0];
<!-- lang: php -->
    echo '<br>'
<!-- lang: php -->
    echo $string[3];
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
    echo $string[strlen($string) - 1];
<!-- lang: php -->
    echo '<br>';
<!-- lang: php -->
?>

程序运行结果:

bcdef
bcd
abcd
abcdef
f
a
d
f

示例4:移除后缀it

<!-- lang: php -->
<?php 
<!-- lang: php -->
    //removes string from the end of other
<!-- lang: php -->
    function removeFormEnd($string, $stringToMove){
<!-- lang: php -->
        //得到须要移除的字符串的长度
<!-- lang: php -->
        $stringToRemoveLen = strlen($stringToMove);
<!-- lang: php -->
        //获取原始字符串的长度
<!-- lang: php -->
        $stringLen = strlen($string);
<!-- lang: php -->
        
<!-- lang: php -->
        //计算须要保留字符串的长度
<!-- lang: php -->
        $pos = $stringLen - $stringToRemoveLen;
<!-- lang: php -->

<!-- lang: php -->
        $out = substr($string, 0, $pos);
<!-- lang: php -->
        return $out;
<!-- lang: php -->
    }
<!-- lang: php -->
    $string = 'nowamagic.jpg.jpg';
<!-- lang: php -->
    $result = removeFromEnd($string, '.jpg');
<!-- lang: php -->
    echo $result;
<!-- lang: php -->
?>


程序运行结果:

nowamagic.jpg

示例5:太长的字符串只显示首尾,中间用省略号代替

<!-- lang: php -->
<?php 
<!-- lang: php -->
    $file = "HelloThisFileHasMoreThan30CharactersAndThisFayl.exe";
<!-- lang: php -->
    function funclongwords($file){
<!-- lang: php -->
        if(strlen($file) > 30){
<!-- lang: php -->
            $vartypesf = strrchr($file, ".");
<!-- lang: php -->
            //获取搜索到的字符的字符串总长度
<!-- lang: php -->
            $vartypesf_len = strlen($vartypesf);
<!-- lang: php -->
            //截取左边15个字符
<!-- lang: php -->
            $word_l_w = substr($file, 0, 15);
<!-- lang: php -->
            //截取右边15个字符串
<!-- lang: php -->
            $word_r_w = substr($file, -15);
<!-- lang: php -->
            $word_r_a = substr($word_r_w, 0, -$vartypesf_len);
<!-- lang: php -->
            return $word_l_w."...".$word_r_a.$vartypesf;   
<!-- lang: php -->
        }else{
<!-- lang: php -->
            return $file;
<!-- lang: php -->
        }      
<!-- lang: php -->
    }
<!-- lang: php -->
    $result = funclongwords($file);
<!-- lang: php -->
    echo $result;
<!-- lang: php -->
?>

程序运行结果:

HelloThisFileHa...AndThisFayl.exe

示例6:格式化字符串

<!-- lang: php -->
<?php 
<!-- lang: php -->
    function str_format_number($string, $format){
<!-- lang: php -->
        if($format == '')    return $string;
<!-- lang: php -->
        if($string == '')    return $string;
<!-- lang: php -->
        $result = '';
<!-- lang: php -->
        $formatPos = 0;
<!-- lang: php -->
        $stringPos = 0;
<!-- lang: php -->
        while((strlen($format) -1) >= $formatPos){
<!-- lang: php -->
            //if it's a number => stores it
<!-- lang: php -->
            if(is_numeric(substr($format, $formatPos,1))){
<!-- lang: php -->
                $result .= substr($string, $stringPos, 1);
<!-- lang: php -->
                $stringPos++;
<!-- lang: php -->
                //if it's not a number => stores the caracter
<!-- lang: php -->
            }else{
<!-- lang: php -->
                $result .= substr($format, $formatPos, 1);
<!-- lang: php -->
            }
<!-- lang: php -->
            //Next caracter at the mask
<!-- lang: php -->
            $formatPos++;
<!-- lang: php -->
        }
<!-- lang: php -->
        return $result;
<!-- lang: php -->
    }
<!-- lang: php -->
//For the numbers at Buenos Aires, Argentina
<!-- lang: php -->
//Example 1:
<!-- lang: php -->
$string = "8607562337788";
<!-- lang: php -->
$format = "+00 0000 0000000";
<!-- lang: php -->
echo str_format_number($string, $format);
<!-- lang: php -->
echo '<br>';
<!-- lang: php -->
//Example 2:
<!-- lang: php -->
$string = "8607562337788";
<!-- lang: php -->
$format = "+00 0000 00.0000000";
<!-- lang: php -->
echo str_format_number($string, $format);
<!-- lang: php -->
echo '<br>';
<!-- lang: php -->
//Example 3:
<!-- lang: php -->
$string = "8607562337788";
<!-- lang: php -->
$format = "+00 0000 00.000 a";
<!-- lang: php -->
echo str_format_number($string, $format);
<!-- lang: php -->
echo '<br>';
<!-- lang: php -->
?>

运行结果:

+86 0756 2337788
+86 0756 23.37788
+86 0756 23.377 a
相关文章
相关标签/搜索