Sönke Tesch: PHP - eigentlich kein Problem aber...?

Beitrag lesen

return array("miss");

-----------^^^^^^^^^^^^^

$miss[]=validate($required);

--------^^

foreach($miss as $v)
{
  echo $v;
}

also das Array $required existiert, aber er gibt mir anstatt der Werte nur 'Array'. Ich find ums Verrecken den Fehler nicht. Hilfe!!

Kleiner Fehler, große Wirkung :)

Deine Funktion validate() gibt zwar ein Feld zurück, aber indem Du $miss[] schreibst, wird dem (neuen) Feld $miss ein neuer Eintrag hinzugefügt, in dem dann das von validate() zurückgegebene Feld steckt.
Lösung: Eckige Klammern weg.

$miss=validate($required);

Dann hast Du davon unabhängig noch ein zweites Problem:
validate() gibt keine geprüften Werte zurück, sondern Feld mit einem einzigen Eintrag, welcher den Text "miss" enthält.
Lösung:

return $miss;

Beide Fehler hättest Du bestimmt sehr schnell selbst gefunden, wenn Du Dir den Variableninhalt mit Hilfe von var_dump() ausgeben lassen hättest. Nimm diese Debug-Funktion besser in Dein Repertoire auf, Unklarheiten über Variableninhalte kommen bei PHP öfters vor :)

Gruß,
  soenk.e