PHP Werte in Arrays hinzufügen

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
565
Hallo,

ich stelle mich gerade bestimmt ziemlich blöd an. Jedenfalls spuckt mir Google keine Vernünftige Antwort aus:

Ich habe ein Array:
PHP:
    $test_array = array(
        'name' => 'anton',
        'url' => 'www.anton.de'
    );

Dieses möchte ich im nun erweitern mit
PHP:
$name = "peter";
$url = "www.peter.de";

array_push macht es jedenfalls falsch:

PHP:
array(4) {
  ["name"]=>
  string(5) "anton"
  ["url"]=>
  string(12) "www.anton.de"
  [0]=>
  string(5) "peter"
  [1]=>
  string(9) "www.peter"
}

hat jemand die lösung für mich?
 
Sehe deine Syntax zu array_push nicht, nehme an dir fehlt das ".de"?

Alternativ geht natürlich auch immer:

PHP:
$test_array[$name] = $url;

array_push kann natürlich keine (zumindest nicht ohne weiteres) assoc. Arrays bedienen.
 
Zuletzt bearbeitet:
PHP:
$test_array[] = array('name' => $name, 'url' => $url);
schon beim ersten am besten mit den eckigen klammern dahinter
 
Du erweiterst da einen eindimensionalen Array um mehrere Elemente. Du brauchst dazu einen mehrdimensionalen Array.
z.B.
Code:
$test_array[0]['name']='anton';
$test_array[0]['url']='www.anton.de';

$test_array[1]['name']='peter';
$test_array[1]['url']='www.peter.de';

usw.
 
das mit .de war mein fehler.

der alternative code bringt mir leider nicht viel:
PHP:
array(3) {
  ["name"]=>
  string(5) "anton"
  ["url"]=>
  string(12) "www.anton.de"
  ["peter"]=>
  string(12) "www.peter.de"
}
 
Habe nun erst erkannt, was das Ziel ist, und das haben die anderen schon erklärt.

Du benötigst ein mehrdimensionales Array.
Also:

PHP:
$tmp_array = array("name" => "Peter", "url" => "peter.de");
$test_array[] = $tmp_array;

Die leeren eckigen Klammern fungieren dabei wie array_push
 
Zuletzt bearbeitet: (typo)
Zurück
Oben