:::

3-5-5 替換內容 replace($col_name, $arr)

replace($col_name, $arr = [], $callback = [], $exception_group = []):object
將指定的欄位,將其資料庫值替換成別的值來呈現,例如把 0 改為「關閉」,把 1 改為「開啟」
  1. $col_name必填是指要替換哪個欄位的顯示值。
  2. $arr顯示值陣列,陣列索引為顯示值,陣列值為欲呈現文字。可自製此陣列的值,或搭配 get_arr()來取得陣列。
  3. $callback:要將替代後的值進行一步的用函數處理,可以在此設定,陣列索引為函數名稱,陣列值為函數參數陣列。
  4. $exception_group:例外群組陣列,若目前的登入者所屬群組有在此陣列中,那麼就不進行上述的callback動作。

範例:

$Model->replace('enable', [1 => '啟用', 0 => '關閉']);

enable欄位的值,若是 1 就顯示成「啟用」,若是 0 就顯示成「關閉」

 

$cate_arr = $Model->get_arr('my_action_cate', 'cate_id', 'cate_title');
$Model->replace('cate_id', $cate_arr);

cate_id欄位(分類編號)的值,轉換成分類名稱。

因此先用get_arr()來取得my_action_cate資料表中的資料,並以cate_id(分類編號)作為陣列索引,以cate_title(分類名稱)作為陣列值。

 

$ApplyModel->uid_name();
$ApplyModel->replace('uid', [], ['substr_replace' => ['this', '〇', 3, 3]], [1]);

先用uid_name()uid欄位(使用者編號)的值換成使用者名稱

由於值已經由uid_name()替換,所以會自動轉成真實姓名,故$arr填入[]空陣列即可

接著為保護個資,用substr_replace來搜尋並取代姓名中間的字為〇,故其參數為['this', '〇', 3, 3]],第一個this代表轉換後的值。

但我們希望管理員可以看到完整名稱,故設定第四個例外群組陣列,並將管理員群組填入[1]


:::

書籍目錄

展開 | 闔起

快速登入


https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1627%26tbsn%3D48

計數器

今天: 6883688368836883
昨天: 2489248924892489
總計: 8028865802886580288658028865802886580288658028865