

これを動かすと

[code]

    <?php
    
    function raw_json_encode($input) {
    
        return preg_replace_callback(
            '/(?<!\\\\)\\\\u(\w{4})/',
            function ($matches) {
                return mb_convert_encoding(pack('H*',$matches[1]),'UTF-8','UTF-16');
            },
            json_encode($input)
        );
    
    }
    
    $arr = array('Response'=>array('Shipment'=>array('shipId'=>'1','test'=>'1234/12/12'),
                                   'Shipment'=>array('shipId'=>'2','test'=>'1234/01/01')));
    
    var_dump(raw_json_encode($arr, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT));
    
[/code]

表示がこのようになります。

[code]

    "{"Response":{"Shipment":{"shipId":"2","test":"1234\\/01\\/01"}}}"
    
[/code]

今私がほしいのが、この結果なんですが

[code]

    "{"Response":{"Shipment":{"shipId":"1","test":"1234/12/12"},"Shipment":{"shipId":"2","test":"1234/01/01"}}}"
    
[/code]

どうやったらできますか？


CC BY-SA 3.0
2017-03-07T12:06:23.863
33169
2017-03-07T18:04:20.610
2017-03-07T18:04:20.610
3054
20963
question
php
PHPで連想配列をJSONにエンコードすると、同じキーを持つ値が一つを残し消えてしまう