2017-02-22 3 views
-5
bestanden
<?php 
echo "--Array functions---"; 
?></br> 
<?php 
$numbers = [ 
    5 , 
    4, 
    2, 
    7, 
    8, 
    'name' => [ 
     'jimit', 
     'prashant', 
     'neel' 
    ] 
]; 

foreach ($numbers as $key => $value) { 
    echo implode(" ", $value); 
} 

i got Array Nachricht Warning: implode(): Ungültige Argumente eine Lösung für diese weitergegeben bitte vorschlagen michWarning: implode(): Ungültige Argumente

+1

Nur Ihr letztes Element in '$ numbers' ist ein Array. Und 'implode()' benötigt ein Array als zweites Argument. – Rizier123

+0

'$ value' ist nur im letzten Fall ein Array. Sonst ist es Nummer. 'implode' will Array, keine Nummer. – sed

+0

nur Namen Werte drucken wie kann ich –

Antwort

0

Es gibt zwei mögliche Lösungen entsprechend Ihrer Frage & geposteten Kommentare:

Wenn Sie nur den Namen des ‚name‘ Schlüsselelement ausdrucken möchten, dann diesen Code setzen:

$arr = array(); 
foreach ($numbers as $key => $value) { 
    if(is_array($value)) { 
     foreach($value as $val){ 
      if($key == 'name') { 
       $arr[] = $val; 
      } 
     } 
    } 
} 
echo implode(" ", $arr); 

ODER

Wenn Sie zusammen mit den Zahlen, die die ganze Reihe zu drucken, legen Sie dann diesen Code:

$arr = array(); 
    foreach ($numbers as $key => $value) { 
     if(is_array($value)) { 
      foreach($value as $val){ 
       $arr[] = $val; 
      } 
     } else { 
      $arr[] = $value; 
     } 
    } 
    echo $result = implode(" ", $arr); 

Hoffe, dies kann für Sie hilfreich sein.

+0

danke dieser Code funktioniert –

1

Du den Fehler bekommen, weil $value keine ist Array.

überprüfen Sie vor impolde.

foreach ($numbers as $key => $value) { 
    if(is_array($value)) { 
     echo implode(" ", $value); 
    } else { 
     echo $value; 
    } 
} 
+0

dank dieser alse arbeiten –