2016-12-28 25 views
-1

我有一些像这样的$string = {"71":"message1","72":"message2" } 的71和72串是ID的如何使用获取第一项来解码json字符串?

我想选择这些IDE从$字符串的并传递给一些像这样的功能:

$id = array('71','72') 
    $collection = Mage::getModel('model/model')->load($id); 

哪有我解析字符串并获取它们中的每一个的ID。

+0

您的字符串是json。解码它并收集你所需要的东西。 –

+0

'json_decode($ string)' –

回答

3

这是一个json字符串,所以很容易获取数据。

$string = '{"71":"message1","72":"message2" }'; 
$array = json_decode($string, TRUE); // put it into an associated array 
$keys = array_keys($array); // get the keys 

或者作为一衬垫:

$keys = array_keys(json_decode($string, TRUE)); 
+0

它的工作原理非常感谢,但是我想知道如果我可以用它们的等价物替换键(id)71例如我将它替换为:name1 – Prince

+0

这取决于你在看什么为了,你在哪里得到name1。 – aynber

+0

您必须在循环中处理它并使用该信息创建一个新数组。 – aynber

2
<?php 
    $string = '{"71":"message1","72":"message2" }'; 
    $keys = array_keys(json_decode($string, TRUE)); 
    print_r($keys); 

输出:

Array ([0] => 71 [1] => 72) 

JSON JSON字符串被解码。

此函数仅适用于UTF-8编码的字符串。

注: PHP实现如原始»RFC 7159. ASSOC 指定为TRUE时,返回的对象将被转换成关联数组JSON的超集。

深度 用户指定的递归深度

返回值 返回在适当PHP类型在JSON编码的值。值true,false和null分别作为TRUE,FALSE和NULL返回。如果json无法解码或者编码数据比递归限制更深,则返回NULL。

参考:http://php.net/manual/en/function.json-decode.php