Tach!
if( $csv_line[0] == "Spalte1" AND $csv_line[1] == "Spalte2" AND $csv_line[2] == "Spalte3" ){
ich würde mal das ausgeschriebene AND durch den Operator && austauschen. Beide machen zwar eine Und-Verknüpfung, stehen aber in der Rangfolge der Operatoren an verschiedenen Positionen. Tückische PHP-Stolperfalle.
Das stimmt zwar, aber beide liegen unterhalb der Vergleichsoperatoren. Das Problem tritt lediglich bei Zuweisungen und ?: auf.
Jedenfalls ist so direkt nicht zu erkennen, woran es scheitert. Kontrollausgaben mit var_dump() können erleuchtend sein.
dedlfix.