這個程式主要就是可以把陣列 和文字 互相轉換
在資料庫要新增欄位算是比較麻煩的事情,而且如果欄位和值的數量不固定
資料庫就很難作用
因此寫了這個程式(初步構想),只要在資料庫欄位中,新增一個TEXT 欄位即可
大家可以試試看,本人是覺得還蠻方便的
=========================================
後來發現 其實就是JSON 的觀念
=========================================
<?php
$text = "e:{ee:{eee:55},e2:555},a:1,b:{ba:1},c:2,d:{dd:4,da:5}";
$text2 ='aa,bb,cc,dd';
$a = text2array($text);
$a = array2text($a);
var_dump($a);//string(53) "e:{ee:{eee:55},e2:555},a:1,b:{ba:1},c:2,d:{dd:4,da:5}"
function text2array($text){
$return = array();
while($text){
$tay = explode(":",$text,2);
$l=0;$i= (-1);
while($i<strlen($tay[1])){
$i++;
if($tay[1][$i]=="{"){
$l++;
}elseif($tay[1][$i]=="}"){
$l--;
}
//if()
if($l==0){
break;
}
}
if($i==0){
$tb = explode(",",$tay[1],2);
$return[$tay[0]] = $tb[0];
if(isset($tb[1]))
$text = $tb[1];
else
$text = false;
}else{
$return[$tay[0]] = text2array(substr($tay[1],1,($i-1)));
$text = substr($tay[1],($i+2));
}
}
return $return;
}
function array2text($array){
$return = '';
if(is_array($array)){
foreach($array as $field=>$content){
if(is_array($content)){
$return = $return.$field.":{".array2text($content)."}";
}else{
$return = $return.$field.":".$content;
}
$return .= ",";
}
$return = substr($return,0,-1);
}else{
$return = $array;
}
return $return;
}
?>
JSON
回覆刪除