2015-12-03 6 views
3

Привет Я пытаюсь получить доступ к элементам в массиве.Доступ к значениям нескольких php-массивов

array(
    (int) 0 => array(
     'requests_users' => array(
      'request_id' => '1' 
     ), 
     (int) 0 => array(
      'ct' => '2' 
     ) 
    ), 
    (int) 1 => array(
     'requests_users' => array(
      'request_id' => '2' 
     ), 
     (int) 0 => array(
      'ct' => '1' 
     ) 
    ), 
    (int) 2 => array(
     'requests_users' => array(
      'request_id' => '4' 
     ), 
     (int) 0 => array(
      'ct' => '2' 
     ) 
    ), 
    (int) 3 => array(
     'requests_users' => array(
      'request_id' => '5' 
     ), 
     (int) 0 => array(
      'ct' => '2' 
     ) 
    ) 
) 

Используя цикл (под)

for($row=0;$row<count($list);$row++){ 
    echo $list[$row]['requests_users']['request_id']; 
} 

я мог получить request_id значения. Однако у меня возникли проблемы с получением значений 'ct'.

Можете ли вы, ребята, помочь мне, как напечатать 'ct' значения?

ответ

1

как о так ..

for($row=0;$row<count($list);$row++){ 
    echo $list[$row]['requests_users']['request_id']; 
    echo '<br/>'; 
    echo $list[$row][0]['ct']; 
} 

попробовать это. должны работать

+0

Спасибо, что помогли мне. Но знаете ли вы способ, используя вложенный цикл? –

0

Вы можете получить "каратов" значение:

for($row=0;$row<count($list);$row++){ 
    echo $list[$row][0]['ct']; 
} 
0

Вы можете попробовать как ниже код

for($row=0;$row<count($list);$row++){ 
    echo $list[$row]['requests_users']['request_id']; 
    echo "<br>"; 
    echo $list[$row][0]['ct']; 
    echo "<br><br>"; 
} 
0

Чтобы получить доступ к элементам выше массива вы можете использовать следующие рекурсивной функции:

public function _convertToString($data){ 
    foreach($data as $key => $value){ 
     if(is_array($value)){ 
       $this->_convertToString($value); 
     }else{ 
      echo $key .'->'.$value; 
     } 
    } 
} 

вы можете позвонить выше функции в следующим образом:

$str = array(
     "data" => "check", 
     "test1" => array(
      "data" => "Hello", 
      "test3" => array(
       "data" => "satish" 
      ) 
     ), 
     "test2" => array(
      "data" => "world" 
     ) 
    ); 


    $this->_convertToString($str); 

Вы можете изменить выход или рекурсивный чтобы удовлетворить ваши требования. Можете ли вы добавить исходный массив в свой вопрос, я имею в виду не var_dump(), чтобы я мог использовать это непосредственно и модифицировать код в своем ответе, если это необходимо.