Zerko: Felder/Stellen im assoziativen Array über Schleife erstellen?!

Mahlzeit,

ich versuche die Stellen eines assoz. Arrays dynm. zur Laufzeit des Scripts mittels einer Schleife zu erstellen.

Leider klappt das nicht weil die Benutzung des " => " bemängelt wird.
Die Fehlermeldung: unexpected T_DOUBLE_ARROW

Der Quellcode:

  
$acc_testing = array();  
for($x=0; $x<count($_POST['inpTesting']); $x++){  
   array_push($acc_testing, $_POST['inpTesting'][$x] => (($_POST['inpTesting'][$x] != null) ? 1 : 0));  
}

Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
Evtl. fällt euch noch eine Alternative ein?

Danke und Gruß,
Zerko

  1. Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
    Evtl. fällt euch noch eine Alternative ein?

    $length = count($arr1);  
    for($i = 0; $i < $length; $i++){  
      $arr[] = array($arr1[$i], $arr2[$i])  
    }
    

    Gruß Mike

    1. Hello,

      Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?

      Evtl. fällt euch noch eine Alternative ein?

      $length = count($arr1);

      for($i = 0; $i < $length; $i++){
        $arr[] = array($arr1[$i], $arr2[$i])
      }

        
      Wenn es assoziative Arrays sind, dann darf man nicht in dieser Weise über die Arrays iterieren, sondern müsste mit each() oder besser mit foreach() arbeiten über eines der beiden:  
        
      $\_array3 = array();   ## leeres Zielarray anlegen  
        
        foreach($\_array1 as $key => $val)  
        {  
           if (isset($\_array2[$key]))  
           {  
               $\_array3[$key] = array($\_array2[$key], $\_array3[$key]);  
           }  
           else  
           {  
               $\_array3[$key] = array($\_array2[$key], false);  
           }  
        }  
        
      So würde das Array1 abgearbeitet und alle dazugehörigen vorhandenen Elemente aus dem Array2 zusammengeführt mit denen aus Array1 im Zielarray3  
        
        
      Anstelle von "array($\_array2[$key]" könnte man dann auch "$val" schreiben.  
        
        
        
        
        
      Liebe Grüße aus Syburg bei Dortmund  
        
      Tom vom Berg  
      ![](http://selfhtml.bitworks.de/Virencheck.gif)  
        
      
      -- 
      Nur selber lernen macht schlau  
      <http://bergpost.annerschbarrich.de>
      
  2. Hallöchen,

    $acc_testing = array();
    for($x=0; $x<count($_POST['inpTesting']); $x++){
       array_push($acc_testing, $_POST['inpTesting'][$x] => (($_POST['inpTesting'][$x] != null) ? 1 : 0));
    }

    
    >   
    > Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?  
    > Evtl. fällt euch noch eine Alternative ein?  
      
    Da müsste auch die direkte Zuweisung eines neuen Array-Elements (ohne array\_push()) innerhalb der Schleife funktionieren:  
      
    ~~~php
      
    for($x=0; $x<count($_POST['inpTesting']); $x++){  
      $acc_testing[$_POST['inpTesting'][$x]] = (($_POST['inpTesting'][$x] != null) ? 1 : 0);  
    }  
    
    

    MfG
    vaudi