Freddy: Multiarray befüllen -> Syntax

Hallo,

ich möchte gerne ein MultiArray befüllen. Aber offenbar habe ich Probleme mit dem Syntax:

$test_array = array();  
$test_array[] = ("Wort_kurz" => '.$wortkurz.', "Wort_lang" => '.$wortlang.');

ich habe auch nur Anführungszeichen probiert also "$wortkurz".
oder  komplett ohne...

Aber immer die Fehlermeldung: Parse error: syntax error, unexpected T_DOUBLE_ARROW

Danke Freddy

  1. Moin

    $test_array = array();

    $test_array[] = ("Wort_kurz" => '.$wortkurz.', "Wort_lang" => '.$wortlang.');

    
    >   
    > ich habe auch nur Anführungszeichen probiert also "$wortkurz".  
    > oder  komplett ohne...  
      
    die kannst du auch getrost weglassen  
      
    
    > Aber immer die Fehlermeldung: `Parse error: syntax error, unexpected T_DOUBLE_ARROW`{:.language-php}  
      
    Ist ja klar. Es fehlt das Schlüsselwort array.  
      
    So wird ein Schuh draus:  
      
    `$test_array[] = array("Wort_kurz" => $wortkurz, "Wort_lang" => $wortlang);`{:.language-php}  
                    ^^^^^  
    Gruß Bobby  
    
    -- 
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-  
    ### Henry L. Mencken ###  
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-  
    ## Viktor Frankl ###  
      
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    
  2. Hi!

    ich möchte gerne ein MultiArray befüllen.

    Vergiss am besten den Begiff "multidimensional" (oder ähnliches) und betrachte die Dinge so, wie sie eigentlich sind. In einem Array unter PHP kann als Wert jeder PHP-Typ verwendet werden, unter anderem auch wieder der Typ Array. Das "äußere" Array bleibt dabei der Typ Array wie alle anderen Arrays auch.

    Aber offenbar habe ich Probleme mit dem Syntax:

    _Die_ Syntax ist definiert und funktioniert so wie beschrieben und nicht nach Gutdünken.

    $test_array = array();

    $test_array[] = ("Wort_kurz" => '.$wortkurz.', "Wort_lang" => '.$wortlang.');

      
    Du mischst in der zweiten Zeile verschiedene Syntaxformen. Die Schreibweise  
      
      $test\_array[] =  
      
    weist genau einen Wert zu. Dieser Wert kann auch ein Array sein. Der muss aber wie in deiner ersten Zeile mit array( beginnen.  
      
    
    > ich habe auch nur Anführungszeichen probiert also "$wortkurz".  
      
    Die Frage ist, was du genau mit $wortlang und $wortkurz bezweckst. In der Form '.$wortlang.' wird genau die Zeichenfolge zwischen den beiden ' als Wert verwendet. Variablen werden nicht aufgelöst. Sowas braucht man nur, wenn man zur Laufzeit mit Code hantiert (eval() lässt grüßen). Wenn du den Inhalt der Variablen verwenden willst, notier ihren Namen nackig und nur mit dem vorangestellten $.  
      
    
    > Aber immer die Fehlermeldung: `Parse error: syntax error, unexpected T_DOUBLE_ARROW`{:.language-php}  
      
    Logisch. So wie du das notiert hast, wird ein geklammerter Ausdruck auszuwerten versucht, so wie bei  
      
      $foo = (1 + 2) \* 3;  
      
    Dabei ist => keine gültige Syntax.  
      
      
    Lo!