2015-10-07 6 views
-1

привет им Bulding сайт с PHP, которые используют JSON API, и мне нужно повторить значения из многомерного массивакак получить значение многомерного массива на PHP

"troopsLevels": [ 
{ 
    "value": 5, 
    "globalID": 4000000 
}, 
{ 
    "value": 5, 
    "globalID": 4000001 
}, 
{ 
    "value": 4, 
    "globalID": 4000002 
}, 

это пример моей JSON файл, что мне нужно, чтобы показать значение «значение» зная, в зависимости от globalID

, но не знаете, как это сделать

я думал что-то вроде

 $troop_lvl = $data['troopsLevels']; 

if($troop_lvl['globalID'] == 4000000){echo $troop_lvl['value']} 

но проклятия это не сработает, так как я не указываю элемент [0] .. [2]

, но что на самом деле тот, что мне нужно, чтобы избежать использования [0], чтобы выбрать конкретный массив, мне нужно, чтобы прочитать все, и только показать [ «значение»], когда я дать globalid

я действительно надеюсь, что лет можно понять я английский не мой родной язык Большое спасибо вам помочь

ответ

1

вы должны использовать foreach петлю

foreach ($troop_lvl as $key=>$value) { 
    if($value['globalID'] == 4000000) { 
    echo $value['value']; 
    } 
} 
+0

Большое спасибо ребята soory я не могу дать вам как правильный ответ – WarLion

1

Использование Еогеасп

foreach ($troop_lvl as $key=>$value) { 
    if($value['globalID'] == 4000000) { 
    echo $troop_lvl['value']; 
    } 
} 
1

Смотри ниже:

<?php 
    $arr = array("test" => array("value" => 1, "value2" => 2), "test2" => array("value" => 21, "value2" => 22)); 
    $encode_arr = json_encode($arr); 
    $decode_arr = json_decode($encode_arr); 
    //print_r($decode_arr); 
    foreach ($decode_arr as $key => $value) { 
     if($value->value2==2) 
      echo $value->value; 
    } 
?> 

Выходной сигнал будет 1.

1

Это должно работать для вас,

$a = '{"troopsLevels": [ 
      { 
       "value": 5, 
       "globalID": 4000000 
      }, 
      { 
       "value": 5, 
       "globalID": 4000001 
      }, 
      { 
       "value": 4, 
       "globalID": 4000002 
      } 
     ]}'; 

    $abc = json_decode($a); 
    foreach ($abc->troopsLevels as $row) { 
     if ($row->globalID == 4000000) { 
      echo $row->value;// prints value as 5 for the current input. 
     } 
    } 
Смежные вопросы