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
相關文章
相關標籤/搜索