2016-11-11 2 views
1

Ich habe versucht, der folgenden Array-Schleife.Foreach-Schleife funktioniert nicht nach Druck-Array

Array 
(
    [mech_info] => Array 
     (
      [make] => Amaka 
      [0] => Array 
       (
        [year] => 2001 
        [model] => Array 
         (
          [0] => Test one 
          [1] => test fix 
          [2] => Hamour 
          [3] => Imagica 
         )  
       ) 

      [1] => Array 
       (
        [year] => 2002 
        [model] => Array 
         (
          [0] => Test Two 
         )  
       ) 

      [2] => Array 
       (
        [year] => 2014 
        [model] => Array 
         (
          [0] => Test three 
         )  
       ) 

      [3] => Array 
       (
        [year] => 2015 
        [model] => Array 
         (
          [0] => test four 
         )  
       )  
     )  
) 

Array 
(
    [mech_info] => Array 
     (
      [make] => PRI 
      [0] => Array 
       (
        [year] => 2005 
        [model] => Array 
         (
          [0] => PRIMODE 
          [1] => Temp Pri 
          [2] => primode 
          [3] => yyy 
         )  
       )  
     )  
) 

Ich möchte es mit foreach-Schleife tun. Ich habe durch folgenden Code versucht, aber es wird zeigen, nichts außer

`print_r($_POST['mech_show']);`. 

     $all_make_model= $_POST['mech_show']; 
     $all_make_model_data = $all_make_model['mech_info']; 

    foreach ($all_make_model_data as $key => $mec_value) { 
     echo "string"; 
     echo $meta_value['make']; 
    } 


    echo "<pre>"; 
    print_r($_POST['mech_show']); 


    exit(); 

auch in der Lage nicht unter foreach und Daten gehen nicht in Schleife drucken.

mir Fehler gegeben

Notice: Undefined index: mech_info

Warning: Invalid argument supplied for foreach() in 

i trie auch auf diese Weise aber

$all_make_model= $_POST['mech_show']; 
$all_make_model_data = $_POST['mech_info']; 

    foreach ($all_make_model as $key => $mec_value) { 
     echo "<pre>"; 
     print_r($mec_value['make']); 
     echo "</pre>"; 
    } 

    echo "<pre>"; 
    print_r($all_make_model['mech_info']); 

aber es ist showing Warning: Illegal string offset 'mech_info' in ..

Ich weiß nicht, ob mein Code falsch ist oder mir etwas fehlt, bitte helfen Sie mir.

danken Ihnen

+2

Typo 'echo meta_value $ [ 'make'];' sollte 'echo $ mec_value [ 'make']' – jitendrapurohit

+0

'foreach ($ all_make_model_data wie $ key => $ mec_value) { echo "string"; echo $ mec_value ['make']; } ' –

+0

Können Sie Ihre Mech_show var_dump? Ich habe versucht, Ihr Objekt zu erstellen, und ich habe ein Array von leeren Array – GiuServ

Antwort

0

Einige Ihrer foreach Schleife ändern. es $meta_value['make'] sollte $mec_value['make']

So sei

$all_make_model= $_POST['mech_show']; 
//$all_make_model_data = $all_make_model['mech_info']; 

foreach ($all_make_model as $key => $mec_value) { 
    echo "<pre>"; 
    print_r($mec_value['make']); 
    echo "</pre>"; 
} 
+0

Ich habe versucht, Ihren Code, aber nichts anzeigen mir leer gelassen. – maddy

+0

mir gegeben Fehler wie Notice: Undefined index: mech_info in /opt/lampp/htdocs/cync/wp-content/themes/twentysixteen/functions.php on line 1258 Warning: Invalid argument für foreach geliefert() in/opt/lampp/htdocs/cync/wp-content/themes/twentysixteen/functions.php auf Linie 1260 – maddy

+0

immer noch gleichen Fehler .. – maddy

0

versuchen

$all_array=array("mech_info"=>array("make"=>"Amaka",array("year"=>2001,"model"=>array("one","two","three")),array("year"=>2002,"model"=>array("one","two","three")),array("year"=>2003,"model"=>array("one","two","three")),array("year"=>2004,"model"=>array("one","two","three"))),array("mech_info"=>array("make"=>"PRI",array("year"=>2001,"model"=>array("one","two","three"))))); 

$all_make_model= $all_array; 
//$all_make_model_data = $all_make_model['mech_info']; 
//print_r($all_make_model['mech_info']); 
foreach ($all_make_model['mech_info'] as $key => $mec_value) { 
    if(is_numeric($key)) continue; 
    echo $mec_value; // output Amaka 
} 

exit(); 
+0

funktioniert nicht gegeben mir: Ungültige Argument für foreach() – maddy

+0

getestet Code gut funktionieren –

0

Dieser Kodex gerade arbeiten. Um auf mehrere mech_info zu iterieren, habe ich eine Lücke im Array hinzugefügt, weil Sie sonst mehrere Objekte mit dem gleichen Index erstellen möchten.

$p = Array('mech_show' => Array(
    0 => Array(
     'mech_info' => Array(
       'make' => 'Amaka', 
       '0' => Array(
         'year' => 2001, 
         'model' => Array(
           0 => 'Test one', 
           1 => 'test fix', 
           2 => 'Hamour', 
           3 => 'Imagica' 
          )  
        ), 

       '1' => Array(
         'year' => 2002, 
         'model' => Array(
           0 => 'Test Two' 
          )  
        ), 

       '2' => Array(
         'year' => 2014, 
         'model' => Array(
           0 => 'Test three' 
          )  
        ), 

       '3' => Array(
         'year' => 2015, 
         'model' => Array 
          (
           0 => 'test four' 
          )  
        )  
      )  
     ), 
    1=>Array(
     'mech_info' => Array(
       'make' => 'PRI', 
       '0' => Array(
         'year' => 2005, 
         'model' => Array(
           0 => 'PRIMODE', 
           1 => 'Temp Pri', 
           2 => 'primode', 
           3 => 'yyy' 
          )  
        )  
      )  
     ) 
    ) 
); 

$all_make_model= $p['mech_show']; 

foreach($all_make_model as $all_make_model_data){ 
    foreach($all_make_model_data as $mech_info) 
    var_dump($mech_info['make']); 
} 

, wo Sie mit $ _POST $ p ersetzen

+0

Nicht funktionierend gegeben mir: Ungültig Argument für foreach() – maddy

+0

die erste oder die zweite foreach geliefert? Ich habe eine einfache PHP-Seite erstellt und es hat funktioniert. Wenn nicht, ist Ihr Objekt anders, deshalb habe ich nach einem var_dump von 'mech_show' gefragt – GiuServ

Verwandte Themen