matriz multidimensional, comparando los valores

Lo tengo dentro de mi plantilla de twigs usando este comando

{{ dump(elements) }} 

enter image description here

Por lo tanto, esta respuesta se realiza a partir de dos matrices a partir de las cuales la segunda matriz no está completa porque es demasiado grande. Voy a llamarlos primero [0] y segundo 1 matriz. También recuerde que todos los valores vienen dinámicamente a la plantilla, lo que significa que necesito usarlos. No puedo usarlos como por ejemplo: elements [“master”].

Tengo que ver dónde están los valores de la primera matriz en la segunda matriz. (por ejemplo: donde nuestra_red está en segundo conjunto) y para obtener los valores de 1,2,3,4,5 ??

Por favor, recuerda que podría afectar incluso esta respuesta de API.

Estoy usando Symfony 2.8.

Quiero obtener los valores de los elementos 1 y los elementos 1 [2] etc., pero solo donde los necesite. Y lo necesito si los elementos 1 [‘our_network’] 1 == 1 entonces uno behavoior, y si es igual a los elementos 1 [‘our_netwrok’] 1 == 0 entonces otro comportamiento.

Si tiene alguna sugerencia o recomendación, hágamelo saber.

Lo hice a través de PHP, no estoy seguro si querías si via Twig …

Use array_key_exists para ver si los elementos de la primera matriz existen en la segunda matriz. Y dos bucles Un foreach para verificar cada elemento en el primer conjunto, un ciclo for para imprimir los valores de los elementos.

Aquí está mi código:

 $elements = array( array("master","Home","our_network","doesnotexist"), array("master" => array("master", 0,0,0,0,0), "Home" => array("Home", 0,0,0,0,0), "our_network" => array("our_network",0,0,0,0,0)) ); echo "
\n"; print_r($elements); echo "

\n"; echo "

\n"; foreach ($elements[0] as $section) { echo "$section\n"; if (array_key_exists($section,$elements[1])) { echo " EXISTS!\n"; for ($i = 1; $i <= 5; $i++) { echo " $i: " . $elements[1][$section][$i] . "\n"; } } else { echo " DOES NOT EXIST!\n"; } } echo "

\n";

El grupo de pre es solo formatear la salida en mi prueba Apache. Te da esta salida:

 Array ( [0] => Array ( [0] => master [1] => Home [2] => our_network [3] => doesnotexist ) [1] => Array ( [master] => Array ( [0] => master [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) [Home] => Array ( [0] => Home [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) [our_network] => Array ( [0] => our_network [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) ) ) master EXISTS! 1: 0 2: 0 3: 0 4: 0 5: 0 Home EXISTS! 1: 0 2: 0 3: 0 4: 0 5: 0 our_network EXISTS! 1: 0 2: 0 3: 0 4: 0 5: 0 doesnotexist DOES NOT EXIST! 

Si necesita acceder al valor de solo una sección, haga esto:

 echo "just one section: " . $elements[1]['Home'][3] . "\n"; 
 foreach ($elements[0] as $value2) { echo $value2; foreach($elements[$value2] as $value) { echo $value; } }