三级全黄做爰电影_夫妻之间那些事_啊啊啊啊好爽视频_国产精品xxxx喷水欧美_色一情一乱一伦麻豆_国产精品美乳一区二区免费_亚洲综合av在线在线播放_人与禽伦性了_黄色软件色多多_av在线免费观看网址

php對(duì)于數(shù)組與對(duì)象之間的互轉(zhuǎn),適用于JSON數(shù)據(jù)傳輸
發(fā)表人:金馬 | 2022-05-06

當(dāng)下做開(kāi)發(fā)的用對(duì)象存儲(chǔ)數(shù)據(jù)非常多了,如微信小程序開(kāi)發(fā)中的云開(kāi)發(fā)存儲(chǔ)數(shù)據(jù)就是以對(duì)象方式保存的,還有相當(dāng)多的API接口也是以JSON方式傳輸數(shù)據(jù)。

這次補(bǔ)充開(kāi)發(fā)商品功能的規(guī)格模板時(shí)就使用對(duì)象方式存在數(shù)據(jù)庫(kù)了,當(dāng)然用兩個(gè)表一對(duì)多方式關(guān)聯(lián)也是非常方便,那么這次的開(kāi)發(fā)會(huì)用到對(duì)象與數(shù)組互轉(zhuǎn)的功能,現(xiàn)把整個(gè)功能記錄下來(lái)。

首先數(shù)據(jù)表保存的字段內(nèi)容:

$attr_list='[{"attr_id":"1","attr_name":"3R"},{"attr_id":"1","attr_name":"4R"},{"attr_id":"1","attr_name":"5R"},{"attr_id":"1","attr_name":"6R"},{"attr_id":"1","attr_name":"10寸"},{"attr_id":"1","attr_name":"12寸"},{"attr_id":"1","attr_name":"16寸"},{"attr_id":"1","attr_name":"18寸"]';

在數(shù)據(jù)表中取出這樣字段,我們需要把a(bǔ)ttr_name按列表方式顯示,如下圖:

image.png

按鈕底紋的樣式,大家可以直接復(fù)制使用,CSS和HTML代碼如下:

<div class="attr-name">淋膜</div>

.attr-name {

    background: #f3f3f3;

    color: #666666;

    display: inline-block;

    line-height: 32px;

    margin: 5px;

    border-radius: 5px;

    padding: 0 15px;

}

php先通過(guò)json_decode進(jìn)行轉(zhuǎn)換再使用object_array函數(shù)將對(duì)象轉(zhuǎn)成數(shù)組,代碼如下:

$str_list='[{"attr_id":"1","attr_name":"淋膜"},{"attr_id":"1","attr_name":"冷裱"},{"attr_id":"1","attr_name":"塑封"}]';

$str_arr=object_array(json_decode($str_list));

for($i=0;$i<count($str_arr);$i++)

echo '<div class="attr-name">'.$str_arr[$i]['attr_name'].'</div>';

/*object_array是對(duì)象轉(zhuǎn)成數(shù)組函數(shù)*/

function object_array($array) {  

    if(is_object($array)) {  

        $array = (array)$array;  

     } if(is_array($array)) {  

         foreach($array as $key=>$value) {  

             $array[$key] = object_array($value);  

             }  

     }  

     return $array;  

}

接下來(lái)我們還需要把數(shù)據(jù)存回?cái)?shù)據(jù)表,如用戶(hù)錄入或修改,這個(gè)就比較容易了,代碼如下:

$str_arr[0]['attr_id']=1;

$str_arr[0]['attr_name']="淋膜";

$str_arr[1]['attr_id']=2;

$str_arr[1]['attr_name']="冷裱";

$str_object=json_encode($str_arr,JSON_UNESCAPED_UNICODE);

使用json_encode時(shí)要注意事項(xiàng),如果是5.3以后的版本按以上代碼即可,加了JSON_UNESCAPED_UNICODE這個(gè)參數(shù)后,保存在數(shù)據(jù)表的字符將不會(huì)采用編碼后方式保存,不加參數(shù),對(duì)于存數(shù)據(jù)表的數(shù)據(jù)就沒(méi)有這么直觀。

image.png

規(guī)格模板完事,接下來(lái)還要應(yīng)用到商品管理中,這個(gè)又稍復(fù)雜點(diǎn),到時(shí)再寫(xiě)一篇文章介紹。

我來(lái)說(shuō)兩句(0)
:zui: :wink: :twisted: :roll: :oops: :mrgreen: :love: :lol: :jidong: :idea: :han:
發(fā)表評(píng)論(Ctrl+Enter)
—— 金馬科技公眾號(hào) ——
十二年 行業(yè)積累

砥礪前行路上,有您關(guān)注,相聚相研共話(huà)成長(zhǎng)!

如有意向,請(qǐng)與我們聯(lián)系

辦公電話(huà):0774-3838278 / QQ:154727262 / 微信:wztmma