Array durchsuchen

Guten Tag allerseits.

Hoffe ihr könnt mir weiterhelfen. Google brachte mir da keine Lösung.
Ich schreibe ein Programm für die Arbeit weswegen ich euch leider nicht
das ganze zeigen darf, aber ich versuch es trotzdem verständlich zu machen.

Also ich habe eine Excel Tabelle aus der ich das Datum auslese. Das Datum
steht dort in folgenden format: DD.MM.YYYY HH:MM:SS also z.B. 27.07.2009 7:59:59.
Ein Tag kann auch mehrmals vorkommen deswegen war in der Tabelle auch
Minuten und Stunden von bedeutung. Dies ist bei mir nicht mehr der Fall.
Immer wenn so ein Eintrag da steht bedeutet das, dass die momentane Schicht
etwas Produziert hat. Es gibt 5 Schichten. Die lese ich mit zum dazugehörigen Datum.

Das alles verarbeite ich so in einem array dass ich nur noch Tag und Schicht habe.
Sprich:

array[0] = 011
array[1] = 021
array[2] = 142
array[3] = 153
array[4] = 153

Die ersten beiden Ziffern sind der Tag die letzte Ziffer die Schicht.
Beim letzten sieht man das ein Tag also auch weiterhin doppelt vorhanden sein
kann mit der selben Schicht.

Ich möchte nun das array immer durchsuchen. Ich suche erst ob 011 im Array ist wenn ja soll ein counter +1 gerechnet werden. Jeder Tag darf aber nur einmal den counter pro schicht hochrechnen. An dieser Stelle mal beispiel plus bissien programmcode:

1. Array:
$anlage = 011, 011, 011, 011, 031, 031,121,121,121,042,042,063,063....
$search = 011,021,031,041,051,061bis 311... 012,022,032,042 bis 312 das für alle 5 Schichten einmal. Jetzt mach ich folgendes

for($i=0,$i<count($search);$i++) {
if(array_search($search[$i], $ia2) == true) { $count++; }
}
echo "".$count;

An dieser Stelle liegt das Problem. Egal wie ich es dreh und Wende ich bekomme immer Null. Er findet einfach nichts im Array obwohl es in beiden enthalten ist. Habs auch schon mit in_array versucht funktioniert auch nicht. Auch nicht mit einer Schleife mit if($search[$i] == $ia2... Hat jemand eine idee woran dies liegt oder wie ich es anders machen könnte? Wäre Super

Crawler Skiline
 
Hi

warscheinlich liegt's daran, dass array_search nicht true zurück gibt, sondern entweder false, oder den key. Demnach musst du das hier nehmen:
if( array_search($foo,$bar) != false )
edit:
Wenn das nicht klappt versuch mal
if( array_search($foo,$bar) != null )
 
Nord-Süd-Richtung vielen Dank für deinen einfall. Das war es aber nicht.
War ein dummer Fehler von mir :rolleyes:.

Ich habe mir jetzt mal mit var_dump das array zurückgeben lassen.
Dabei hab ich bemerkt das dort ein Leerzeichen zuviel war.
Da hab ich in der DB nachgesehen und bemerkt das bei Schicht immer so
ein komischen viereck hinten dran war. Keine Ahnung wie es da hin kommt.

Naja aufjedenfall Substring verwendet, also letztes Zeichen weg und nun gehts :rolleyes:

Trotzdem vielen Dank dass du dir den ellen Langen text durchgelesen hast ^^
 
Zurück