Problem mit in_Array();

Kopfballstar

Erfahrenes Mitglied
Habe ein Problem mit der Funktion in_Array()

Ich rufe sie so auf: in_Array($track,$arr);

Inhalte sind diese:
PHP:
$track = 05_05_12.mp3

$arr = Array ( [0] => 05_05_12.mp3 [1] => 05_05_11.mp3 [2] => 05_05_11.mp3 [3] => 05_05_11.mp3 [4] => 05_05_11.mp3 )

Nun wird $track aber nicht wirklich im Array gefunden. An erster Array Stelle wird es gefunden aber hat $track den Inhalt eines Array Inhalts an zB Position 3 wird $track nicht im Array gefunden.

Diese Funktion rufe ich auch 2 mal auf. Beim 2ten Aufruf gekomme ich aber auch zusätzlich noch eine Fehlermeldung:

Code:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\Programme\xampp\htdocs\xampp\Homepage\functions\functions.php on line 146

Die Meldung ansich verstehe ich ja aber es werden die gleichen Argumente übergeben. Deshalb wundert es mich das erst beim 2ten Aufruf eine Fehlermeldung angegeben wird.

Ich hoffe ihr könnt mir helfen.
 
Schreib mal bitte den ganauen Syntax für dein Array hier rein.
Das hasst es ja sicher nicht so:
PHP:
<?php
$track = 05_05_12.mp3

$arr = Array ( [0] => 05_05_12.mp3 [1] => 05_05_11.mp3 [2] => 05_05_11.mp3 [3] => 05_05_11.mp3 [4] => 05_05_11.mp3 ) 
?>
im Quellcode.

Tobee
 
Der Fehlermeldung nach zu urteilen, besitzt die Variable den falschen Datentyp. Möglicherweise wird er im Laufe des Skriptes geändert. Hast du das schon mal überprüft?
 
Es ist nicht mehr als:

Code:
if(in_array($track,$arr)){
bla bla
}

Ok, das mit dem Datentyp stimmte. Die Fehlermeldung kommt nicht mehr.

Aber der String wird nach wievor im Array gefunden, dessen Einträge auch aus Strings bestehen.

Jetzt habe ich mal die Variable $track mit settype in einen String umgewandelt. Nun wird $track zwar im Array gefunden, allerdings grundsätzlich. Also auch wenn der String im Array gar nicht vorkommt.

Also ich habe weiter geprüft.
Die Suchvariable ist ein String und jedes Elemt im Array ist ebenfalls ein String.
Die Funktion in_array liefert aber immer 1 zurück.
 
Zurück