本文實例總結了Thinkphp將二維數組變為標簽適用的一維數組方法。分享給大家供大家參考。具體實現方法如下:
方法一:
復制代碼 代碼如下:$projectList=arr1tag($projectList,array('','請選擇'),'project_name');
//其中$list為傳值過來的二維數組,$default為默認值,$k為指定的表字段
function arr1tag($list,$default='',$k=''){
$tmp='';
if(array($list)){
if(array($default)){
$tmp[$default[0]]=$default[1];
}
foreach ($list as $k1=>$v1){
$tmp[$k1+1]=$v1[$k];
}
}
return $tmp;
}
方法二:
復制代碼 代碼如下:$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;
}
//把數據庫中調出的數組轉換成可以使用模版標簽的數組,其中$default為默認值,$k為指定的表字段
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;
}
方法三:
將讀取數據庫的內容直接轉換為一維數組,該方法大多用於select標簽
復制代碼 代碼如下:$this->where($where)->getField('id,name');
得出的內容為
array(
'id' => 'name',
)
希望本文所述對大家的ThinkPHP框架程序設計有所幫助。
不大明白,你一維數組希望達成什麼效果,最好能模擬出來,以便讓大家更好幫你解答。
你的補充跟之前的效果本來就是一樣呀!
$re=array();for($i=0;$i<lenth;$i++)$re[$i]=array_slice($arr,5*$i,5);print_r($re);