2014-03-27 2 views
0

이 어리석은 지루한 배열을 어떻게 반복 할 수 있습니까?CakePHP- 반복 배열

array (size=6) 
    0 => 
    array (size=1) 
     'Question' => 
     array (size=2) 
      'id' => string 'q_1' (length=3) 
      'question_desc' => string 'Is this correct?)' (length=15) 
    1 => 
    array (size=1) 
     'Question' => 
     array (size=2) 
      'id' => string 'q_10' (length=4) 
      'question_desc' => string 'Do you weigh less than 45 kilograms OR more than 160 kilograms.' (length=63) 

이것은 세션 데이터의 var_dump입니다! 각 'Question' 배열 객체에서 question_desc 필드를 가져와야합니다.

+0

여기서 볼 수 있듯이 배열 배열의 경우는 샘플입니다. http://www.w3schools.com/php/php_arrays_multi.asp 또한 배열을 반복하는 방법을 알고있는 경우 첫 번째 반복 반복 이후에 필요합니다. 자식 배열. – Nezir

+0

여기 샘플입니다 http://stackoverflow.com/questions/10342755/cakephp-2-1-1-foreach – Nezir

+0

죄송합니다. 명확하지 않을 수 있습니다. 케이크를 만드는 PHP 방법이 있나요? 반복 Foreach는 꽤 간단합니다 – LogixMaster

답변

2

이 어레이의 구조는 목적을 가지고 있지만, rtfm-ed를 사용하기 전에 공유했던 것처럼 좌절감을 느낍니다!

$flattened_data = array(); 

foreach($your_main_array as $question) 
{ 
    foreach($question['Question'] as $question_param) 
    { 
     if($question_param == 'question_desc') 
     { 
      $flattened_data[] = $question_param; 

      // if you want to be really cool you can do this instead 
      // this will list the array with the question id as the key. 
      // $flattened_data[$question[id]] = $question_param;   
     } 
    } 
} 

// now flattened data has only what you require 
return $flattened_data; 

케익 데이터 형식은 ORM과 모델 관계를 사용하는 방식을 이해하면 훨씬 더 이해할 수 있습니다. 실제로 데이터 관리를위한 강력한 도구이지만, 모든 힘을 필요로하기 전에는 간단한 작업을 방해하는 것처럼 보입니다.

+0

Actuall이 어떤 이유로 빈 배열을 반환합니다! 아, 내 좌절감을 나누어 주셔서 감사합니다. 나는 말 그대로 반복 사이에 혼란 스럽다 고 느꼈다. – LogixMaster

+0

'$ your_main_array'를 배열의 실제 이름으로 바꿨습니까? – usumoio

+0

예 물론! $ question_param == 'question_desc'이 맞는지 확인하는 이유는 무엇입니까? 조건이 결코 충족되지 않는 것 같습니다. – LogixMaster