日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

Php 链式执行,PHP实现链式操作的三种方法详解

發(fā)布時間:2025/4/5 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Php 链式执行,PHP实现链式操作的三种方法详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文實例講述了PHP實現(xiàn)鏈式操作的三種方法。分享給大家供大家參考,具體如下:

在php中有很多字符串函數(shù),例如要先過濾字符串收尾的空格,再求出其長度,一般的寫法是:

strlen(trim($str))

如果要實現(xiàn)類似js中的鏈式操作,比如像下面這樣應該怎么寫?

$str->trim()->strlen()

下面分別用三種方式來實現(xiàn):

方法一、使用魔法函數(shù)__call結(jié)合call_user_func來實現(xiàn)

思想:首先定義一個字符串類StringHelper,構(gòu)造函數(shù)直接賦值value,然后鏈式調(diào)用trim()和strlen()函數(shù),通過在調(diào)用的魔法函數(shù)__call()中使用call_user_func來處理調(diào)用關系,實現(xiàn)如下:

class StringHelper

{

private $value;

function __construct($value)

{

$this->value = $value;

}

function __call($function, $args){

$this->value = call_user_func($function, $this->value, $args[0]);

return $this;

}

function strlen() {

return strlen($this->value);

}

}

$str = new StringHelper(" sd f 0");

echo $str->trim('0')->strlen();

終端執(zhí)行腳本:

php test.php

8

方法二、使用魔法函數(shù)__call結(jié)合call_user_func_array來實現(xiàn)

class StringHelper

{

private $value;

function __construct($value)

{

$this->value = $value;

}

function __call($function, $args){

array_unshift($args, $this->value);

$this->value = call_user_func_array($function, $args);

return $this;

}

function strlen() {

return strlen($this->value);

}

}

$str = new StringHelper(" sd f 0");

echo $str->trim('0')->strlen();

說明:

array_unshift(array,value1,value2,value3...)

array_unshift() 函數(shù)用于向數(shù)組插入新元素。新數(shù)組的值將被插入到數(shù)組的開頭。

call_user_func()和call_user_func_array都是動態(tài)調(diào)用函數(shù)的方法,區(qū)別在于參數(shù)的傳遞方式不同。

方法三、不使用魔法函數(shù)__call來實現(xiàn)

只需要修改_call()為trim()函數(shù)即可:

public function trim($t)

{

$this->value = trim($this->value, $t);

return $this;

}

重點在于,返回$this指針,方便調(diào)用后者函數(shù)。

希望本文所述對大家PHP程序設計有所幫助。

總結(jié)

以上是生活随笔為你收集整理的Php 链式执行,PHP实现链式操作的三种方法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。