第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于array_walk()回調函數參數

關于array_walk()回調函數參數

PHP
慕碼人2809647 2015-12-03 01:47:45
這里課程代碼是array_walk($fields,?array('PdoMySQL',?'addSpecilChar')); 但是我看官方文檔的是 bool?array_walk?(?array?&$array?,?callable?$funcname?[,?mixed?$userdata?=? NULL?]?) 后面的參數為什么不是方法名而是一個數組呢,數組的PdoMySQL的含義又是? 后面的 public?static?function?parseFields($fields){ ????if(is_array($fields)){ ????????array_walk($fields,?array('PdoMySQL',?'addSpecilChar')); ????????$fieldsStr?=?implode(',',?$fields); ????}elseif(is_string($fields)?&&?!empty($fields)){ ????????if(strpos($fields,?'`')?===?false){ ????????????$fields?=?explode(',',?$fields); ????????????array_walk($fields,?array('PdoMySQL',?'addSpecilChar')); ????????????$fieldsStr?=?implode(',',?$fields); ????????}else{ ????????????$fieldsStr?=?$fields; ????????} ????}else{ ????????$fieldsStr?=?'*'; ????} ????return?$fieldsStr; } 為什么參數要是引用的形式傳入,這樣傳入參數后為什么還要返回它,這樣就不需要返回了吧
查看完整描述

1 回答

?
茶花烙

TA貢獻1條經驗 獲得超0個贊

  1. 關于array_walk

    array_walk($fields,?array('PdoMySQL',?'addSpecilChar'));

    這個是在一個類的內部使用array_walk,即把$fields通過PdoMySQL這個類中的addSpecilchar方法進行過濾。

  2. 你后面的那個?parseFields方法沒看到有引用傳參,所以處理后需要有返回值。

  3. 引用傳參是會改變原始數據的,array_walk(&$array,$functionname),但是此種方式不應該改變原始數據的結構,比如說數組,不應該添加元素或者刪除元素,因為這有可能出現不可預知的后果。

查看完整回答
反對 回復 2015-12-03
  • 慕碼人2809647
    慕碼人2809647
    不好意思復制錯代碼段了,下面的parse應該是這個函數 public static function addSpecilChar(&$value){ if($value === '*' || strpos($value, '`') !== false){ //不用做處理 }elseif(strpos($value, '`') === false){ $value = '`'.trim($value).'`'; } return $value; } 這里通過回調函數改變了傳遞過來的數組中的值了吧?應該不需要返回..
  • 1 回答
  • 0 關注
  • 1524 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號