将名称-值对检索到PHP数组中

将名称-值对检索到PHP数组中,php,multidimensional-array,Php,Multidimensional Array,我需要一些帮助。我有一个包含这个字符串的变量 “18”、“价值”、“价值”:“2012-06-13”},,,{“id”18”、“价值”:“2012-06-13”},,{“id”19”、“价值”:“19”、“价值”:“19”、“价值”:”19”、“价值”:“19”、“价值”:”19”、“价值”:“19”、“19”、“价值”:““{”代码代码>>>>>>>>>>>>>>>>>>>>>>>>>>{“id id”id”19”、“19”、“19”、“价值”:”19”、“值”19”、“价值”:”关键词关键词

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

“18”、“价值”、“价值”:“2012-06-13”},,,{“id”18”、“价值”:“2012-06-13”},,{“id”19”、“价值”:“19”、“价值”:“19”、“价值”:”19”、“价值”:“19”、“价值”:”19”、“价值”:“19”、“19”、“价值”:““{”代码代码>>>>>>>>>>>>>>>>>>>>>>>>>>{“id id”id”19”、“19”、“19”、“价值”:”19”、“值”19”、“价值”:”关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词关键词。。............19、价值:19、值........(.(.(.(.(.(.(.(.(.(19”、“价值.................数值..........数值..(.(.(.(.(.(.(.(.(id id id.19”、“价值“价值”:“2”},{“id”:“30”,“value”:“987654321”},{“id”:“45”,“value”:“1”},{“id”:“46”,“value”:“1”}]


我需要检索每对的id和值,并将其设置为PHP中的任意数组。

您已经获得了一个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 />";
}
2009年9月13日,价值“““:”值““:”2012-06-13”},,,,,,,,,,,,,,,,,,,,,,{“id”id“19”,“价值“:”19,“19”,“价值”19”,“价值“:”19”,“价值“>>>>元元元元元元,”代码代码>>>>元元.....str难难难难难难难难难难难难难难难难难““““18”,“18”、“18”、“价值““““:::,”值::::,”2012年6-2012-2012-12-12-12-12-12-12-12-12-12-12-13-13-13-13-13-13-13-13-13-13-13-13-13-13-13-13,”13,”,”,”,”,”,”,”13,”,”,”,”,”,”,”13,,,,,,,,,,,,,,,,,,,,,,id:“29”,“值”:“2”}、{“id”:“30”、“值”:“987654321”}、{“id”:“45”、“值”:“1”}、{“id”:“46”、“值”:“1”}]; $array=json_解码($str); foreach($temp形式的数组){ 回显“ID:.$temp->ID.”\t值:.$temp->Value; 回声“
”; } 您可以使用第二个参数并将其作为
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
        )



    .......

)
你可以用like循环


$array=json\u decode($string)
@sigateng json\u decode默认情况下返回一个stdClass对象检查这个@Shad啊是的,幸运的是我把它作为一个注释发布了。我如何才能只搜索出一个id和值;您可以像这样使用echo“id:”.$array[0]->id;echo“
“echo”值:.$array[0]->值;如何仅搜索一个而不是整个数组;[3]=>数组([id]=>20[value]=>1)尝试此操作,您必须使用
$decoded[3]['id']
$decoded[3]['value']访问它
谢谢,我之前试过了,但我想我没有包括布尔值;$decoded=json_decode($json,true);没有这个值,
true
json_decode
将返回一个对象数组,而不是数组数组。在这种情况下,您必须使用
$decoded[3]>id
$decoded[3]>值进行访问
foreach($decoded as $de){
   // access id with $de['id']
   // access value with $de['value']

}