第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP 將類似名稱的變量轉(zhuǎn)換為 json

PHP 將類似名稱的變量轉(zhuǎn)換為 json

PHP
小唯快跑啊 2023-07-15 15:42:55
我通過(guò) url 查詢字符串變量獲取,例如:myserver_state=1&myserver_running=2&myserver_mem=3目前我正在添加到現(xiàn)有的 json,例如:{   "key1": "1",   "key2": "2",   "key3": "3",   "myserver_state": "1",   "myserver_running": "2",   "myserver_mem": "3"}我真的想要這樣:{   "key1": "1",   "key2": "2",   "key3": "3",   "myserver": {      "state": "1",      "running": "2",      "mem": "3"   }}我用它來(lái)加載它們:        $formdata = array(          'state'=> $_POST['state'],          'uassip'=> $_POST['uassip'],          'uassipport'=> $_POST['uassipport'],          'c_uacminrtpport'=> $_POST['c_uacminrtpport'],          'c_uacmaxrtpport'=> $_POST['c_uacmaxrtpport'],          'c_cps'=> $_POST['c_cps'],          'c_totalcalls'=> $_POST['c_totalcalls'],          'c_maxchannels'=> $_POST['c_maxchannels'],          'c_duration'=> $_POST['c_duration'],          'c_to'=> $_POST['c_to'],          'c_uacxml'=> $_POST['c_uacxml']        );        echo "fromdata: <br>"; echo var_dump($formdata) .  "<br><hr>";        if(file_put_contents('testconfig.json', json_encode($formdata) )) echo 'OK';        else echo 'Unable to save data in "testconfig.json"';非常感謝!編輯:我嘗試過(guò)以下評(píng)論:status.php?server1[當(dāng)前狀態(tài)]=10這實(shí)際上可以:    "c_uacxml": "telnyx-uac-invite-ok.xml",    "server1": {        "current_state": "10"    }}這很棒,但是,如果我想添加這樣的元素:status.php?server1[current_mem]=1這實(shí)際上取代了整個(gè)server1    "c_uacxml": "telnyx-uac-invite-ok.xml",    "server1": {        "current_mem": "10"    }}我失去了已經(jīng)存在的 current_state
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

只需在 URL 中使用多維數(shù)組,例如:


test.php?key1=1&key2=2&myserver[state]=1&myserver[running]=2&myserver[mem]=3

如此簡(jiǎn)單的腳本


<?php

echo '<pre>';

echo json_encode($_GET, JSON_PRETTY_PRINT);

會(huì)給你


{

    "key1": "1",

    "key2": "2",

    "myserver": {

        "state": "1",

        "running": "2",

        "mem": "3"

    }

}

當(dāng)然,如果需要,您也可以使用具有相同命名規(guī)則的 POST 請(qǐng)求。


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

為了創(chuàng)建嵌套的 JSON 對(duì)象,您需要在數(shù)組中創(chuàng)建數(shù)組。


例如


$example = [

    'key1' => 'foo',

    'key2' => 'bar',

    'key3' => [

        'subkey1' => 'foo',

        'subkey2' => 'bar',

    ],

];

當(dāng)運(yùn)行它時(shí)json_encode(),它會(huì)導(dǎo)致


{

  "key1": "foo",

  "key2": "bar",

  "key3": {

    "subkey1": "foo",

    "subkey2": "bar"

  }

}

也沒(méi)有必要像這樣加載表單數(shù)據(jù) –


$formdata = [

    'state' => $_POST['state'],

    'uassip' => $_POST['uassip'],

    'uassipport' => $_POST['uassipport'],

    'c_uacminrtpport' => $_POST['c_uacminrtpport'],

    'c_uacmaxrtpport' => $_POST['c_uacmaxrtpport'],

    'c_cps' => $_POST['c_cps'],

    'c_totalcalls' => $_POST['c_totalcalls'],

    'c_maxchannels' => $_POST['c_maxchannels'],

    'c_duration' => $_POST['c_duration'],

    'c_to' => $_POST['c_to'],

    'c_uacxml' => $_POST['c_uacxml'],

];

因?yàn)?_POST已經(jīng)包含您正在嘗試重新創(chuàng)建的結(jié)構(gòu)。您只需將發(fā)布數(shù)據(jù)分配給新變量即可。


另一方面,我強(qiáng)烈建議您查看 PSR PHP 標(biāo)準(zhǔn),它們將極大地幫助提高代碼可讀性和代碼結(jié)構(gòu):) https://www.php-fig.org/psr/


查看完整回答
反對(duì) 回復(fù) 2023-07-15
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)