2015-11-08 2 views
-4

Как пропустить вывод json_decode ($ json_emp) в PHP и получить значения?Как пропустить эти значения в PHP

$array_emp = json_decode($json_emp); 
    var_dump($array_emp) 

     {"info":[{"id":"10","name":"employee1"},{"id":"11","name":"employee2"},{"id":"12","name":"emplyee3"}]} 

Нужно найти получить индивидуальные значения идентификатора и имени. Вот массив.

$array_emp = json_decode($json_emp,true);

Array 
(
    [info] => Array 
     (
      [0] => Array 
       (
        [id] => 10 
        [name] => employee1 
       ) 

      [1] => Array 
       (
        [id] => 11 
        [name] => employee2 
       ) 

      [2] => Array 
       (
        [id] => 12 
        [name] => emplyee3 
       ) 

     ) 

) 

Здесь объекты;

stdClass Object 
(
    [info] => Array 
     (
      [0] => stdClass Object 
       (
        [id] => 10 
        [name] => employee1 
       ) 

      [1] => stdClass Object 
       (
        [id] => 11 
        [name] => employee2 
       ) 

      [2] => stdClass Object 
       (
        [id] => 12 
        [name] => emplyee3 
       ) 

     ) 

) 

Пожалуйста, дайте мне знать, как пройти через них и получить значения. Пробовал много и запутался.

+4

http://php.net/manual/en/control-structures.foreach.php – Streetlamp

+0

И еще: http://stackoverflow.com/q/15607029/1065197 –

ответ

1

Если вы хотите использовать объекты, попробуйте следующее:

foreach ($array_tmp->info as $emp) 
{ 
    echo $emp->name; 
} 

Для массивов:

foreach ($array_tmp['info'] as $emp) 
{ 
    echo $emp['name']; 
} 
1

Используйте этот

$json = '{"info":[{"id":"10","name":"employee1"},{"id":"11","name":"employee2"},{"id":"12","name":"emplyee3"}]}'; 

$json = json_decode($json, TRUE); 
foreach($json['info'] as $info){ 
    echo 'ID: '.$info['id'].PHP_EOL;  
    echo 'Name: '.$info['name'].PHP_EOL;  
} 

выше кода выхода

ID: 10 
Name: employee1 
ID: 11 
Name: employee2 
ID: 12 
Name: emplyee3 

DEMO

, и если вы обрабатываете object, а не array

$json = json_decode($json); 
foreach($json->info as $info){ 
    echo 'ID: '.$info->id.PHP_EOL; 
    echo 'Name: '.$info->name.PHP_EOL; 
} 

Выведет же, как описано выше.

DEMO

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