V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pytth
V2EX  ›  PHP

怎么把 print_r 输出的值取出来?并转成 json

  •  
  •   pytth · 2020-07-23 15:07:34 +08:00 · 2138 次点击
    这是一个创建于 1589 天前的主题,其中的信息可能已经有所发展或是发生改变。

    print_r($c[1])之后,就是下面这串东西

    Array
    (
        [0] => adj. 黄色的;黄皮肤的
        [1] => adj. 胆小的
        [2] => n. 黄色;黄种人;黄色颜料
        [3] => vi. 变黄或发黄
        [4] => vt. 使变黄或发黄
    )
    

    想要把上面所有值给取出来,并转成 json,因为通过接口请求获得的,上面值的个数会变化,所以不能只访问他们的下标来取,要遍历,不太专业,不知道怎么写,最终的 json 要求的格式如下:

    {
        "data":[
            {
                "id":"1",
                "word":"adj. 黄色的;黄皮肤的"
            },
            {
                "id":"2",
                "yxname":"adj. 胆小的"
            }
        ]
    }
    
    4 条回复    2020-08-13 13:56:37 +08:00
    airdge
        1
    airdge  
       2020-07-23 15:30:10 +08:00
    $json=[];
    $json['data']=array_map(function($x,$y){return ['id'=>$x,'word'=>$y];},range(1,count($c[1])), $c[1]);
    echo json_encode($json);
    pytth
        2
    pytth  
    OP
       2020-07-23 15:32:44 +08:00
    补充
    ```
    {
    "id":"2",
    "yxname":"adj. 胆小的"
    }
    改成
    {
    "id":"2",
    "word":"adj. 胆小的"
    }
    pytth
        3
    pytth  
    OP
       2020-07-23 15:49:18 +08:00
    @airdge 可用,谢谢!
    chenzheyu
        4
    chenzheyu  
       2020-08-13 13:56:37 +08:00
    die(json_encode($data));
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:42 · PVG 05:42 · LAX 13:42 · JFK 16:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.