會用到這玩意是因為要做一個比較靈活的Excel匯入功能,其中欄位變數、是否必填、欄位中文名稱(提示錯誤訊息用),都已經使用陣列及Foreach指定動態變數資料的處理,可滿足各個客戶不同的匯入欄位需求,但當時在撰寫程式時沒時間也沒那麼聰明的去想到如何處理匯入文字轉ID的部分。
於是和同事討論後發現可參照欄位變數的陣列命名方法,再寫一個陣列預存各欄位需要做代碼轉換的Function名稱,並在指定變數時順便去做代碼轉換。
查一查這個方法中文名稱叫做:可變函數名稱
|
這個蠻方便的,我自己寫的測試案例如下
echo "123";
}
$aTest=array("test");
Foreach($aTest as $t){
$tt = $t;
$tt();
}
像這樣畫面上就會直接跑function test,畫面上會echo 123,可以達成這樣的效果,但假設陣列回傳的是陣列的時候,可能在指定變數時還要再做處理,總之在某些複合欄位(如郵遞區號+縣市+鄉鎮+路名)的時候可能在處理上還得花些心思,但大體而言這個方式可以處理單一欄位的ID轉換。
留言
張貼留言