V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
liKeYunKeji
V2EX  ›  PHP

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

  •  
  •   liKeYunKeji · Jul 23, 2020 · 2752 views
    This topic created in 2104 days ago, the information mentioned may be changed or developed.

    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 replies    2020-08-13 13:56:37 +08:00
    airdge
        1
    airdge  
       Jul 23, 2020
    $json=[];
    $json['data']=array_map(function($x,$y){return ['id'=>$x,'word'=>$y];},range(1,count($c[1])), $c[1]);
    echo json_encode($json);
    liKeYunKeji
        2
    liKeYunKeji  
    OP
       Jul 23, 2020
    补充
    ```
    {
    "id":"2",
    "yxname":"adj. 胆小的"
    }
    改成
    {
    "id":"2",
    "word":"adj. 胆小的"
    }
    liKeYunKeji
        3
    liKeYunKeji  
    OP
       Jul 23, 2020
    @airdge 可用,谢谢!
    chenzheyu
        4
    chenzheyu  
       Aug 13, 2020
    die(json_encode($data));
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3198 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 13:41 · PVG 21:41 · LAX 06:41 · JFK 09:41
    ♥ Do have faith in what you're doing.