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

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

請(qǐng)求與 JSON 字符串和數(shù)組字段混合,減少自定義函數(shù)中丟失數(shù)據(jù)的情況

請(qǐng)求與 JSON 字符串和數(shù)組字段混合,減少自定義函數(shù)中丟失數(shù)據(jù)的情況

PHP
慕娘9325324 2023-09-15 14:39:52
從POST請(qǐng)求中我得到和混合結(jié)構(gòu)JSON和字段Array;處理多種類型的元素;我已經(jīng)執(zhí)行和 var_dump 來(lái)獲取通行證$_POST并得到這個(gè):array(2) {  ["json_data"]=>  string(677) "[{"firstname":""},{"lastname":""},{"email":""},{"countryCode":""},{"phone":""},{"i_signup_password":""},{"i_signup_password_rep":""},{"email":""},{"i_signin_password":""},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"}]",  ["other_data"]=>  string(11) "Other_Data"}在 PHP 服務(wù)器端,我正在執(zhí)行一個(gè)函數(shù),將其減少$_POST為這個(gè)數(shù)組:array(10) {  ["firstname"]=>  string(0) ""  ["lastname"]=>  string(0) ""  ["email"]=>  string(0) ""  ["countryCode"]=>  string(0) ""  ["phone"]=>  string(0) ""  ["i_signup_password"]=>  string(0) ""  ["i_signup_password_rep"]=>  string(0) ""  ["i_signin_password"]=>  string(0) ""  ["form"]=>  string(11) "d-sys-login"  ["process"]=>  string(8) "e-signin"}主要問(wèn)題是最后一個(gè)成員數(shù)組丟失:  ["other_data"]=>     string(11) "other_data"我怎樣才能防止丟失數(shù)據(jù)?這個(gè)腳本可以更簡(jiǎn)單嗎?
查看完整描述

1 回答

?
慕斯王

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

解決方案腳本,但需要使其更簡(jiǎn)單:


<?php

    function buildVirtualData($data)

    {

    

        if (is_array($data)) {

            $temp = [];

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

                $temp[$key] = buildVirtualData($value);

            }

            return reduArray($temp);

        } elseif (valJson($data)) {

            $json_obj = json_decode($data, true);

            foreach ($json_obj as $key1 => $json_sub_obj) {

                foreach ($json_sub_obj as $key2 => $value2) {

                    if (is_array($value2)) {

                        $temp = [];

                        foreach ($value2 as $keyof => $valueof) {

                            $temp[$keyof] = buildVirtualData($valueof);

                        }

                        $json_obj[$key1][$key2] = $temp;

                    } else {

                        if ('true' === $value2 || true === $value2) {

                            $json_obj[$key1][$key2] = true;

                        } elseif ('false' === $value2 || false === $value2) {

                            $json_obj[$key1][$key2] = false;

                        } else {

                            $json_obj[$key1][$key2] = $value2;

                        }

                    }

                }

                return reduArray($json_obj);

            }

        } else {

            if ('true' === $data || true === $data) {

                $data = true;

            } elseif ('false' === $data || false === $data) {

                $data = false;

            }

            return $data;

        }

    }

    

    function valJson($var)

    {

        if (!is_array($var)) {

            return ((json_decode($var) != null) &&

                (is_object(json_decode($var)) || is_array(json_decode($var)))) ? true : false;

        } else {

            return false;

        }

    }

    function reduArray($array)

    {

        $result = $array;

        if (is_array($array)) {

            $check = true;

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

                if (!is_array($value)) {

                    $check = false;

                    break;

                }

            }

            if ($check) {

                $result = array_reduce($array, 'array_merge', []);

            }

        }

        return $result;

    }

    

    $_POST=[];

    $_POST['JsonData']='[{"firstname":""},{"lastname":""},{"email":""},{"countryCode":""},{"phone":""},{"i_signup_password":""},{"i_signup_password_rep":""},{"email":""},{"i_signin_password":""},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"},{"form":"d-sys-login"},{"process":"e-signin"}]';

    $_POST['otherdata']='otherdata';

    $_POST=buildVirtualData($_POST);

    $_POST=reduArray($_POST);

    echo var_dump($_POST);



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

添加回答

舉報(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)