2012-05-23 3 views
9

내 배열 $ strs [$ 키] [$ 아이디]에 대한 위해서 var_dump는 다음과 같은 결과 제공 : 내보기에서Twig에서 다차원 배열의 값을 가져 오는 방법은 무엇입니까?

array(2) { 
    [0]=> array(4) { 
     [8259]=> string(8260) "ouvrir 1" 
     [8260]=> string(8261) "fichier 2" 
     [8261]=> string(8262) "quitter 1" 
     [8262]=> string(8263) "lire 2" 
    } 
    [1]=> array(4) { 
     [8259]=> string(8260) "lancer 2" 
     [8260]=> string(8261) "dossier 1" 
     [8261]=> string(8262) "exit 1" 
     [8262]=> string(8263) "lire 2" 
    } 
} 

을, 나는에서 동일한 $ ID를 가진 모든 문자열을 얻을 묶는있어 모든 $ 키. 이런 식으로 뭔가 :
1
ouvrir 1
랜서 2
2
fichier 2
랜서 2

등 내 나뭇 가지보기에이 시도했습니다

:

{% for key,val in strs['key']['id'] %} 
    {% if strs['key']['id'] is defined %} 
    {{ key }} - <br/>  
    {{ val }}  
    {% endif %} 
{% endfor %} 

이 오류가 발생했습니다 :
키 "키"f 또는 배열 "0, 1"이 존재하지 않습니다 ...
무엇이 잘못 되었나요? 그리고 내가 원하는 결과를 얻으려면 어떻게해야합니까?

답변

10

보기에이 논리를 넣지 마십시오. 보기를 사용하여 만 표시하십시오.
대신 컨트롤러에 할 및 도면에 그 결과를 전달한다

$result = array(); 
foreach ($arrays as $array) { 
    foreach ($array as $key => $value) { 
    $result[$key][] = $value; 
    } 
} 

결과는 그 키 ID에, 동일한 ID에 속하는 문자열의 숫자 어레이 것이다 배열 될 것이다.

를 표시하려면 :

정확히 내가 처음에 $ 결과 배열을 얻을 내 컨트롤러에이 무슨
{% for id, stringsById in results %} 
    {{ id }}- <br /> 
    {% for string in stringsById %} 
    {{ string }} <br /> 
    {% endfor %} 
{% endfor %} 
+0

. 내보기에 배열의 내용을 표시하려고 여기에 노력하고있어. – Wissem

+2

배열의 내용을 표시하는 코드로 내 대답을 업데이트했습니다. –

+0

예, 배열의 전체 내용입니다. 하지만, 나는 각 $ 키에 대응하는 strs [id]를 얻으려고한다. 내 질문의 예와 같이 : [8259] => string (8260) "ouvrir 1"및 [8259] => string (8260) "랜서 2"는 동일한 id (8259)를 공유하지만 다른 키 1). 이제 내가 원하는 것은 각 루프마다이 2 개를 그룹화하여 표시하는 것입니다. – Wissem

관련 문제