SamNox: Assoziativer Array - Wertepaare aus einer Schleife heraus...

Moin,

also ich habe eine da 2 normale Arrays:

$ar1 = array("Kuh","Katze","Hund");
$ar2 = array("muhh","mietz mietz","bellen");

so, dann hab ich da noch eine Schleife, die aus diesen beiden Arrays einen Assoziativen Array machen soll.
Hatte mir das eigentlich wie folgt gedacht:

$assoz_arr = array("Auto"=>"BMW","Wolken"=>"grau");  //hier steht sogar schon was..

for($i=0;$i<count($ar1);$i++) {
  array_push($assoz_arr, $ar1[$i]=>$ar2[$i]);
  }

das geht aber freilich so nicht... nur aber wie? Also jedenfalls erhalte ich immer Fehler, wenn ich das so versuche...

P.S.: Dieses Beispiel ist nur ein Beispiel, welches so im eigentlichen Programm nicht vorkommt, aber dieses veranschauligt am simpelsten das, was eben meine Frage ist.

Vielen Dank im voraus.

  1. hi,

    $ar1 = array("Kuh","Katze","Hund");
    $ar2 = array("muhh","mietz mietz","bellen");

    so, dann hab ich da noch eine Schleife, die aus diesen beiden Arrays einen Assoziativen Array machen soll.
    Hatte mir das eigentlich wie folgt gedacht:

    sowas schon probiert?

    $myArr =  array();
    foreach ($ar1 as $key => $val) {
      $myArr[$val] = $ar2[$key];
    }

    Du solltest vorher sicherstellen, das die Anzahl der Elemente passt.

    Gruesse  Joachim

    1. sowas schon probiert?

      gerade eben

      $ar1 = array("Kuh","Katze","Hund");
      $ar2 = array("muhh","mietz mietz","bellen");

      1:»»
      2:»» $myArr =  array();
      3:»» foreach ($ar1 as $key => $val) {
      4:»»   $myArr[$val] = $ar2[$key];
      5:»» }

      Parse error: parse error, unexpected T_VARIABLE
      ..und zwar in der Zeile 4

      1. hi,

        Parse error: parse error, unexpected T_VARIABLE
        ..und zwar in der Zeile 4

        Wenn Du nicht noch php3 verwendest, hast Du einen anderen Fehler. Die Schleife ist korrekt.

        Gruss  Joachim

        1. Wenn Du nicht noch php3 verwendest, hast Du einen anderen Fehler. Die Schleife ist korrekt.

          nein, php4 ..trotzdem Fehler..aber wurde durch dein Skript inspiriert und es funktioniert nun wie folgt:

          $ar1 = array("Kuh","Katze","Hund");
          $ar2 = array("muhh","mietz mietz","bellen");

          $myArr = array();

          for($i=0;$i<count($ar1);$i++) {
            $myArr[$ar1[$i]] = $ar2[$i];
            }

          $myArr sieht dann wie folgt aus:
            ("Kuh"=>"muhh","Katze"=>"mietz mietz","Hund"=>"bellen")

          ...

          Danke nochmal, geht ja nun.