All Import /All Export 如何使用 php 擷取字串內的值? substr() 函數

PHP substr() 函數的用途是用來取得部分字串內容,可以設定要開始擷取的字元位置與總共要擷取的字元數量。

基本的語法

substr( $string , $start , $length )

$strting 是原始的字串,$start 是要開始擷取的位置,$length 則為要截取的字串長度,要注要的是 $start 與 $length 都必須為數字才有作用,可以是正整數,也可以是負整數,以下提供幾個範例參考。

如果沒有設定 $start 也是可以的,直接給 length 就可以取長度,正負値將影響取得的內容。

length 的簡短寫法

echo substr(“abcde”, -1); <= 這樣會輸出 e,因為從字尾開始算一個字母。
echo substr(“abcde”, -2);  <= 這樣會輸出 de,因為從字尾開始算,共取兩個字母。

接著看加入 start 値設定的情況

echo substr(“abcd”, -3, 1); <= 這樣會輸出 b,因為從字尾開始算,先取三個字母為 bcd,接著長度在從 bcd 取 1 位。
echo substr(“abcdef”, 0, -1); <= 這樣會輸出 abcde,因為程式先從零開始取整段字串,長度再由字串尾扣掉一個。
echo substr(“abcdef”, 2, -1); <= 這樣會輸出 cde,因為程式先從第二個字元開始,取得 cdef 這幾個字,再由取得的字串尾扣掉一個。
echo substr(“abcdef”, 5, -2); <= 這樣會回傳 false,因為程式一開始先取得 f,然後扣掉五個字元,就什麼都沒有囉!
echo substr(“abcdef”, -4, -2); <= 這樣會輸出 cd,因為程式先取得 cdef 這四個字元,再從其中的字尾開始扣掉兩個字元。

All Import /All Export 實際

範例:

如果原始資料為 ABCDEF123456789GHIJ

我們希望能輸出 123456789

1. 加入函數

必須於 Function editor 中加入函數

function delivery($number){
echo substr($number, 6, -4);
}

2. 執行函數功能

再將函數與資料結合, 取得我們要的資料

[delivery({undefined1[1]})]