2017-01-29 20 views
1

は、ここに私のコードです:ネストされた配列ツリーをネストされたオブジェクトツリーにするにはどうすればよいですか?

$adjacencies = array ( "0" => array( "name1" => "pear", 
             "name2" => "jack", 
             "data" => array() ), 
         "1" => array( "name1" => "pear", 
             "name2" => "john", 
             "data" => array() ) 
        ); 

$final_array['adjacencies'] = $adjacencies; 
echo "<pre>"; 
print_r(json_encode($final_array)); 

そして、これは上記のコードの結果である:私は、代わりにこの{}を希望しながら、

enter image description here

あなたは、dataの値が[]で見たよう。どうやってやるの?

+0

可能な複製(http://stackoverflow.com/questions/8595627/best [PHPでJSONに空のオブジェクトを作成するための最良の方法?] -way-to-create-with-json-with-php) – Clive

答えて

2

私はあなたの質問の背後にある理由は何か分からないが、 ではなく配列としてdataキーを設定するのでは、単に新しいとしてそれを定義します。たとえば

PHP Manual for ArrayObject

オブジェクト

$adjacencies = array ( "0" => array( "name1" => "pear", 
             "name2" => "jack", 
             "data" => new stdClass() ), 
         "1" => array( "name1" => "pear", 
             "name2" => "john", 
             "data" => new stdClass() ) 
        ); 

$final_array['adjacencies'] = $adjacencies; 
echo "<pre>"; 
print_r(json_encode($final_array)); 

出典:の

http://php.net/manual/en/language.types.object.php#107071

+0

ありがとうございますupvote – stack

1

あなた(またはstdClass)に合っている場合、ArrayObjectを使用できます。

php > echo json_encode([[],[]]); 
[[],[]] 
php > echo json_encode([ new ArrayObject(), new ArrayObject()]); 
[{},{}] 
+1

ありがとうございましたupvote – stack

関連する問題