Element in Array nicht gefunden

Element in Array nicht gefunden

am 16.09.2006 19:02:18 von Rainer Wahl

Neuer Tag, neues Problem...

Ich werde hier gerade kirre! Ich möchte überprüfen, ob ein Name in
einem Array nicht vorhanden ist und wenn nicht einen Hinweis ausgeben.
Ich durchsuche das Array mit

if (in_array("Rainer Wahl",$arrayname)
{
echo "Gefunden!";
}
else
{
echo "Nicht gefunden!";
};

Das Array (auf den wesentlichen Teil gekürzt) sieht so aus:

Array
(
[name] => Array
(
[0] => Rainer Wahl
[1] => Jürgen Tester
)
)

Ich erhalte immer nur "Nicht gefunden", obwohl der String wie man sieht
definitiv im Array vorhanden ist. Auch wenn ich mit array_search suche
erhalte ich das gleiche Ergebnis. Schreibe ich eine Zahl anstelle des
Strings ins das Array und lasse nach der Suchen, ebenfalls das gleiche
Ergebnis.

Und um dem ganzen jetzt die Krone aufzusetzen; selbst mit

if (strpos($inhaltcode["name"][$x],"Rainer Wahl")==false)
{
echo "Nicht gefunden!";
}

kriege ich die Ausgabe "Nicht gefunden!". Was verstehe ich hier nicht,
bzw. wo mache ich hier einen Denkfehler? Im Array steht jedenfalls
wirklich nur der Name drin, kein Space davor oder dahinter, nix.


-=( Rainer )=-

--
Ich verwende die kostenlose Version von BRAINfighter,
die bei mir bis jetzt 907 Gehirnzellen entfernt hat.
Für private Anwender ist BRAINfighter völlig sinnlos!
Jetzt gratis Lachen: hier klicken.

Re: Element in Array nicht gefunden

am 16.09.2006 19:19:08 von Claus Reibenstein

Rainer Wahl schrieb:

> Neuer Tag, neues Problem...

Neue Lösung :-)

> if (in_array("Rainer Wahl",$arrayname)

Sucht im Array $arrayname.

> Das Array (auf den wesentlichen Teil gekürzt) sieht so aus:
>
> Array
> (
> [name] => Array
> (
> [0] => Rainer Wahl
> [1] => Jürgen Tester
> )
> )
>
> Ich erhalte immer nur "Nicht gefunden", obwohl der String wie man sieht
> definitiv im Array vorhanden ist.

Nein, ist er nicht. Dein Array enthält lediglich ein weiteres Array.
Erst dieses Array enthält den gesuchten String.

Gruß. Claus

Re: Element in Array nicht gefunden

am 16.09.2006 19:25:53 von Martin Kaffanke

Am Sat, 16 Sep 2006 17:02:18 +0000 schrieb Rainer Wahl:

> Neuer Tag, neues Problem...
>
> Ich werde hier gerade kirre! Ich möchte überprüfen, ob ein Name in
> einem Array nicht vorhanden ist und wenn nicht einen Hinweis ausgeben.
> Ich durchsuche das Array mit
>
> if (in_array("Rainer Wahl",$arrayname)

# Auf unten Bezogenes Array müsste es:
if (in_array("Rainer Wahl", $arrayname['name'])

heißen.

> {
> echo "Gefunden!";
> }
> else
> {
> echo "Nicht gefunden!";
> };
>
> Das Array (auf den wesentlichen Teil gekürzt) sieht so aus:
>
> Array
> (
> [name] => Array
> (
> [0] => Rainer Wahl
> [1] => Jürgen Tester
> )
> )
>

Re: Element in Array nicht gefunden

am 16.09.2006 23:33:13 von Rainer Wahl

Martin Kaffanke schrieb am 16 Sep 2006:

> # Auf unten Bezogenes Array müsste es:
> if (in_array("Rainer Wahl", $arrayname['name'])
>
> heißen.

Ich könnte ko.... mich übergeben!
Da ich kein eindimensionales Array verwende dachte ich daran auch
schon, aber sämtliche Beispiele die ich dazu fand, kamen scheinbar
problemlos auch mit mehrdimensionalen Arrays zurecht bei der Funktion.
Muß da echt Scheuklappen aufgehabt haben.

OK, der Schubs in die richtige Richtung brachte das gewünschte Ergebnis
zu Tage. Danke!


-=( Rainer )=-

--
Ich verwende die kostenlose Version von BRAINfighter,
die bei mir bis jetzt 907 Gehirnzellen entfernt hat.
Für private Anwender ist BRAINfighter völlig sinnlos!
Jetzt gratis Lachen: hier klicken.