2015-06-17 2 views
-1

Я получаю этот выход:Является ли этот формат json?

{"params":{"2":true,"3":true}} 

я напечатал, как (на PHP стороне):

$data = file_get_contents("php://input"); 
     print($data); 

Я хочу использовать, что 2 и 3 значения, используя петлю на PHP стороне. Но, как я пытаюсь, это не формат json (его сомнение). Итак, как я могу использовать эти значения, используя цикл?

+1

Это действительно JSON. – Daan

+1

Похож на действительный json, показать код, который у вас есть, например, цикл – Steve

+0

какой код вы пытаетесь? – Blip

ответ

3
$j='{"params":{"2":true,"3":true}}'; 

$decoded=json_decode($j,1); 

print "<pre>\n"; 
print_r($decoded); 
print "</pre>\n"; 

Второй параметр json_decode() является

'ассоциативного' - Когда TRUE, то возвращается объект с будет преобразованы в ассоциативного массива

+0

Решено. Благодарю. – VBMali

2
<?php 

$json='{"params":{"2":true,"3":true}}'; 

$params=json_decode($json, true)['params']; 

foreach ($params as $k =>$v){ 
    echo $k . ' is ' . var_export($v, true) . PHP_EOL; 
} 

выхода:

2 is true 
3 is true 
0
$data='{"params":{"2":true,"3":true}}'; 
$decoded=json_decode($data,1); 
     foreach ($decoded as $key => $param) 
     { 
      foreach ($param as $user_id => $value) 
      { 
        echo $user_id; 
      } 
     } 

Это дает мне выход:

2 3 

(как я ожидал).

Смежные вопросы