arr1tag$projectList = arr1tag($projectList, array('', '請選擇'), 'project_name');
// $list 為傳入的二維陣列,$default 為預設值,$k 為指定欄位
function arr1tag($list, $default = '', $k = '') {
$tmp = '';
if (is_array($list)) {
if (is_array($default)) {
$tmp[$default[0]] = $default[1];
}
foreach ($list as $k1 => $v1) {
$tmp[$k1 + 1] = $v1[$k];
}
}
return $tmp;
}
arr2tag(支援多欄位映射)$projectList = arr2tag($projectList, array('', '請選擇'), '');
// 根據陣列下標取得對應值
function array_index2val($array, $index = 0) {
$value = '';
if (is_array($array)) {
$i = 0;
foreach ($array as $val) {
if ($i === $index) {
$value = $val;
break;
}
$i++;
}
}
return $value;
}
// 將資料庫查出的陣列轉換為模板標籤可用陣列
function arr2tag($arr, $default = NULL, $K = NULL) {
$tmp = '';
if (is_array($arr)) {
if (is_array($default)) {
$tmp[$default[0]] = $default[1];
if ($type == 1) {
$tmp[$default[2]] = $default[3];
}
}
foreach ($arr as $key => $val) {
if (is_array($K)) {
$tmp[$val[$K[0]]] = $val[$K[1]];
} else {
$tmp[array_index2val($val, 0)] = array_index2val($val, 1);
}
}
}
return $tmp;
}
getField 取得鍵值對陣列(最適合 select 下拉選單)$this->where($where)->getField('id,name');
輸出結果為:
array(
'id' => 'name',
)
希望本文對大家的 ThinkPHP 框架程式設計有所幫助。