返回的json数组格式问题

Laravel: 8.6
PHP: 7.3

$arr = ["title"=>  "分类"];
return data_set($arr,'valueEnum',["0"=>"未知","1"=>"完成"]);

//输出结果为
//{
//    "title": "分类",
//    "valueEnum": [
//        "未知",
//        "完成"
//    ]
//}

//想得到的结果为
//{
//    "title": "分类",
//    "valueEnum": {
//        0:"未知",
//        1:"完成"
//    }
//}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
抄你码科技有限公司
最佳答案

试试数组前加上 (object)

<?php

$arr = ["title" =>  "分类"];
$arr2 = ["hello" => (object)["a", "b", "c"]];
$res = $arr + $arr2;
echo json_encode($res);
{
    "title": "分类",
    "hello": {
        "0": "a",
        "1": "b",
        "2": "c"
    }
}
3年前 评论
大熊 (楼主) 3年前
讨论数量: 8
json_encode([
        'title' => '分类',
        'valueEnum' => ['0' => '未知', '1' => '完成']
    ], JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE);
// "{"title":"分类","valueEnum":{"0":"未知","1":"完成"}}"

file

file

3年前 评论
Su (作者) 3年前
liziyu 3年前
chowjiawei
$arr1 = ["title"=>  "分类"];
        $arr2 = ["valueEnum"=> [ "0"=>"未知",'1'=>"完成"]];
        $a=json_encode($arr1+$arr2, JSON_FORCE_OBJECT);
        return json_decode($a,true);
3年前 评论
抄你码科技有限公司

试试数组前加上 (object)

<?php

$arr = ["title" =>  "分类"];
$arr2 = ["hello" => (object)["a", "b", "c"]];
$res = $arr + $arr2;
echo json_encode($res);
{
    "title": "分类",
    "hello": {
        "0": "a",
        "1": "b",
        "2": "c"
    }
}
3年前 评论
大熊 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!