Joachim: dynamisch assoz. Array erzeugen

Hi,

ich stelle mich grad etwas blöd an:
gibt es einen simplen Weg, aus den Values eines eindimensionalen Arrays die Keys fuer ein Mehrdemensionales zu machen?

also aus diesem:
$myKeys = array("lulu", "lala");

soll sowas werden:
$newArr["lulu"]["lala"] =  "...";

wobei die Anzahl der Elemente variiert.
Hat jemand mal eine kleine Initialzuendung fuer mich?

Gruesse  Joachim

  1. Hi,

    ich stelle mich grad etwas blöd an:
    gibt es einen simplen Weg, aus den Values eines eindimensionalen Arrays die Keys fuer ein Mehrdemensionales zu machen?

    also aus diesem:
    $myKeys = array("lulu", "lala");

    soll sowas werden:
    $newArr["lulu"]["lala"] =  "...";

    wobei die Anzahl der Elemente variiert.
    Hat jemand mal eine kleine Initialzuendung fuer mich?

    Gruesse  Joachim

    for($i=0; $<sizeof($myKeys); $i++) {
    $newArr[$myKeys[$i]][$myKeys[$i+1]];
    }

    wenn du das so meinst?

  2. Hi Joachim

    Hi,

    ich stelle mich grad etwas blöd an:
    gibt es einen simplen Weg, aus den Values eines eindimensionalen Arrays die Keys fuer ein Mehrdemensionales zu machen?

    also aus diesem:
    $myKeys = array("lulu", "lala");

    soll sowas werden:
    $newArr["lulu"]["lala"] =  "...";

    wobei die Anzahl der Elemente variiert.
    Hat jemand mal eine kleine Initialzuendung fuer mich?

    Gruesse  Joachim

    grundsätzlich funktioniert das so:

    $myKeys = array("lulu", "lala");
    $newArr[$myKeys[0]][$myKeys[1]] =  "...";
    echo "hier:".$newArr["lulu"]["lala"];

    das ganze kanst du dann damit es variabel wir noch durch eine:
    for ($i=0; $i<count($myKeys); $i++){ 'die zuordnung' }
    Schleife laufen lassen.
    mfg Joey

  3. wobei die Anzahl der Elemente variiert.
    Hat jemand mal eine kleine Initialzuendung fuer mich?

    Zündet das?

    <?php

    $mykeys = array( "lulu", "lala" );

    foreach( $mykeys as $values )
     {
       $newarr[$values] = array( "Neues_Array" );
     }

    ?>

    Gruss AndreD

    1. Hi,

      foreach( $mykeys as $values )
      {
         $newarr[$values] = array( "Neues_Array" );
      }

      dann habe ich das:

      $newarr[$values_1] = "Neues_Array";
      $newarr[$values_n] = "Neues_Array";

      nicht aber:

      $newarr[$values_1][$value_n] = "..";

      Gruesse  Joachim

  4. Hi,

    der Vollstaendigkeit halber - ich konnte das Problem wie folgt loesen:
    <?php
    $temp    =  array("lal", "lul");
    $newArr  =  array();

    function make_arr($arr, $keyArr, $arrVal, $cnt) {

    if ($cnt < count($keyArr)) {
      $key =  $keyArr[$cnt];
      $cnt++;

    if (!isset($arr[$key])) $arr[$key] =  array();
      make_arr(&$arr[$key], $keyArr, $arrVal, $cnt);
     }
     else $arr =  $arrVal;
     return $arr;
    }
    $newArr =  make_arr(&$newArr, $temp, "testvalue", 0);
    ?>
    <html>
    <head>
    </head>
    <body><?=$newArr["lal"]["lul"]?></body>
    </html>

    Gruesse  Joachim