-1

我需要一些帮助。我有一个包含这个字符串的变量;

[{"id":"17","value":"123456789"},{"id":"18","value":"2012-06-13"},{"id":"19","value":"Kampala"},{"id":"20","value":"1"},{"id":"21","value":"500g"},{"id":"22","value":"Emirrets"},{"id":"23","value":"q"},{"id":"24","value":"q"},{"id":"25","value":"q"},{"id":"26","value":"q"},{"id":"27","value":"q"},{"id":"28","value":"q"},{"id":"29","value":"2"},{"id":"30","value":"987654321"},{"id":"45","value":"1"},{"id":"46","value":"1"}]

我需要检索每对的 id 和 value 并使其成为 PHP 中的任何数组。

4

2 回答 2

1

您可以使用json_decode并传递第二个参数,因为true它返回一个像这样的数组

$json = '[{"id":"17","value":"123456789"},{"id":"18","value":"2012-06-13"},{"id":"19","value":"Kampala"},{"id":"20","value":"1"},{"id":"21","value":"500g"},{"id":"22","value":"Emirrets"},{"id":"23","value":"q"},{"id":"24","value":"q"},{"id":"25","value":"q"},{"id":"26","value":"q"},{"id":"27","value":"q"},{"id":"28","value":"q"},{"id":"29","value":"2"},{"id":"30","value":"987654321"},{"id":"45","value":"1"},{"id":"46","value":"1"}]';

$decoded = json_decode($json,true);


print_r($decoded);

工作示例

输出将是

Array
(
    [0] => Array
        (
            [id] => 17
            [value] => 123456789
        )

    [1] => Array
        (
            [id] => 18
            [value] => 2012-06-13
        )

    [2] => Array
        (
            [id] => 19
            [value] => Kampala
        )

    [3] => Array
        (
            [id] => 20
            [value] => 1
        )



    .......

)

您可以使用foreach 之类的循环。

foreach($decoded as $de){
   // access id with $de['id']
   // access value with $de['value']

}
于 2012-06-04T05:41:21.570 回答
0

你有一个 json 字符串。您可以使用函数 json_decode 将其转换为数组检查此代码。

$str = '[{"id":"17","value":"123456789"},{"id":"18","value":"2012-06-13"}, {"id":"19","value":"Kampala"},{"id":"20","value":"1"},{"id":"21","value":"500g"},{"id":"22","value":"Emirrets"},{"id":"23","value":"q"},{"id":"24","value":"q"},{"id":"25","value":"q"},{"id":"26","value":"q"},{"id":"27","value":"q"},{"id":"28","value":"q"},{"id":"29","value":"2"},{"id":"30","value":"987654321"},{"id":"45","value":"1"},{"id":"46","value":"1"}]';
$array = json_decode($str);
foreach($array as $temp){
   echo "ID : ".$temp->id."\t Value: ".$temp->value;
   echo "<br />";
}
于 2012-06-04T05:39:37.990 回答