3

zendのJSONヘルパーを使用していますが、問題があります...このコードを使用すると:

$this->_helper->json(array(1 => "value 1", 2 => "value 2"));

オブジェクトを取得します:

{1: "value 1", 2: "value 2" }

しかし、キーが「0」で始まるシーケンスである場合、配列を取得します。たとえば、次のようになります。

$this->_helper->json(array(0 => "value 0", 1 => "value 1"));

配列を取得します:

["value 0", "value 1"]

このメソッドを使用するたびにオブジェクトを取得するにはどうすればよいですか?(2番目の例の結果{0: "value 0", 1: "value 1" }が必要です)。

4

1 に答える 1

2

あなたはそれをオブジェクトにすることができます

<?php
$arr = array(1 => "value 1", 2 => "value 2");

$x = json_encode($arr);
var_dump($x);

//use this to force to be an object
$y = json_encode(array(0 => "value 1", 1 => "value 2"), JSON_FORCE_OBJECT);
var_dump($y);

// how it is
$z = json_encode(array(0 => "value1", 1 => "value 2" ));
var_dump($z);
?>

与える

string(29) "{"1":"value 1","2":"value 2"}"
string(29) "{"0":"value 1","1":"value 2"}"
string(20) "["value1","value 2"]"
于 2012-09-12T14:53:06.853 に答える