如何获得许多重复的JSON密钥的第一个键?
这个问题在这里已经有了答案:
你在这里给出的不是JSON,你将无法在PHP中创建具有重复键的数组。 虽然重复键在JSON中的对象属性上存在是有效的,但由于大多数解析器(包括json_decode
)不会让您访问所有这些键,因此不鼓励它。
然而,流解析器通常会让你得到这些解析器中的每一个。
使用我写的一个例子, pcrov/JsonReader
:
use pcrovJsonReaderJsonReader;
$json = <<<'JSON'
{
"foo": "bar",
"foo": "baz",
"foo": "quux"
}
JSON;
$reader = new JsonReader();
$reader->json($json);
$reader->read("foo"); // Read to the first property named "foo"
var_dump($reader->value()); // Dump its value
$reader->close(); // Close the reader, ignoring the rest.
输出:
string(3) "bar"
或者,如果你想得到他们每个人:
$reader = new JsonReader();
$reader->json($json);
while ($reader->read("foo")) {
var_dump($reader->value());
}
$reader->close();
输出:
string(3) "bar"
string(3) "baz"
string(4) "quux"
链接地址: http://www.djcxy.com/p/37825.html