Tobias Kloth: Schleifen oder Array Problem

Beitrag lesen

Hallo Klaus,

Nur irgendwie funktioniert das bei mir nicht, entweder setzt er das erste oder letzte Element vom aktiv Array auf 1 aber alle anderen Felder werden mit 0 gesetzt.

du durchläufst das ganze Array $array_aktiv - auch wenn die aktuelle Nummer aus $array_bestand gefunden wurde, und deswegen wird $array_liste[$i][1] immer auf 0 gesetzt (außer die aktuelle Nummer ist die letzte im Array $array_aktiv). Du müsstest also die for-Schleife mit break abbrechen.

$bestand = array();
$aktiv   = array();

für was ist das? - zwei Zeilen weiter unten werden den Variablen doch Strings zugewiesen.

$bestand  = "101111;102111;103111;104111;105111;106111;107111;108111;109111;110111";
$aktiv   = "101111;103111;104111;105111;108111;109111";

$array_bestand = array();
$array_aktiv = array();
$array_bestand = explode(';', $bestand);
$array_aktiv   = explode(';', $aktiv);

mit der Funktion in_array() (->http://de3.php.net/in_array) und dem Trinitäts-Operator (->http://de3.php.net/language.operators.comparison) tust du dir hier leichter (ungetestet):
 $array_liste = array();
 foreach($array_bestand as $best){
   $element_aktiv = in_array($best,$array_aktiv)?1:0;
   $array_liste[] = array($best,$element_aktiv);
 }

Grüße aus Nürnberg
Tobias

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|