2010-07-24 23 views
29

Ich möchte Daten dynamisch zu einem Array hinzufügen.Hinzufügen von Daten dynamisch zu einem Array

+15

Hey aussehen, gibt es eine PHP-Array-Dokumentation: http : //php.net/manual/de/language.types.array.php (erster Treffer bei der Suche nach 'php array') –

Antwort

76

Es gibt eine ganze einige Möglichkeiten, mit dynamischen Arrays in PHP zu arbeiten. initialisieren ein Array:

$array = array(); 

In einem Array:

$array[] = "item"; 
$array[$key] = "item"; 
array_push($array, "item", "another item"); 

Entfernen aus einem Array:

$item = array_pop($array); 
$item = array_shift($array); 
unset($array[$key]); 

Es gibt viel mehr Möglichkeiten, dies sind nur einige Beispiele.

+0

Ich möchte nur etwas hinzufügen. Die Funktion array_push sollte nur für große Arrays verwendet werden, wie in der Beschreibung beschrieben. Immer bevorzugen $ array [] = "neues Element" für kleine Einfügungen. http://php.net/manual/en/function.array-push.php – TivBroc

+0

nur zu Ihrer sehr guten Antwort hinzufügen, '$ array = [];' ist auch eine Option für die Array-Initialisierung –

8
$array[] = 'Hi'; 

schiebt auf das Array.

$array['Hi'] = 'FooBar'; 

legt einen bestimmten Index fest.

3

Like this ?:

$array[] = 'newItem'; 
1

In additon direkt das Array zugreifen, gibt es auch

array_push - drücken Sie ein oder mehrere Elemente an das Ende des Arrays

6

Angenommen, Sie haben ein leeres Array definiert haben:

$myArr = array(); 

Wenn Sie wollen einfach ein Element hinzufügen, z.B. ‚Neues Element Array‘, schreiben

$myArr[] = 'New Element to Array'; 

wenn Sie die Daten aus der Datenbank aufrufen, wird im folgenden Code funktionieren

$sql = "SELECT $element FROM $table"; 
$query = mysql_query($sql); 
if(mysql_num_rows($query) > 0)//if it finds any row 
{ 
    while($result = mysql_fetch_object($query)) 
    { 
     //adding data to the array 
     $myArr[] = $result->$element; 
    } 
} 
+0

Woher sehen Sie $ Element und $ Tabelle Werte sind ** SELECT ** ed? –

0

Hinzufügen von Arrayelementen dynamisch zu einem Array und das Hinzufügen neuer Element einem Array

$samplearr=array(); 
$count = 0; 
foreach ($rslt as $row) { 
     $arr['feeds'][$count]['feed_id'] = $row->feed_id; 
     $arr['feeds'][$count]['feed_title'] = $row->feed_title; 
     $arr['feeds'][$count]['feed_url'] = $row->feed_url; 
     $arr['feeds'][$count]['cat_name'] = $this->get_catlist_details($row->feed_id); 
     foreach ($newelt as $cat) { 
      array_push($samplearr, $cat);    
     } 
     ++$count; 
} 
$arr['categories'] = array_unique($samplearr); //,SORT_STRING 

$response = array("status"=>"success","response"=>"Categories exists","result"=>$arr); 
4

sollten Sie Methode array_push verwenden valu hinzufügen e oder Array zu Array existiert

$stack = array("orange", "banana"); 
array_push($stack, "apple", "raspberry"); 
print_r($stack); 

/** GENERATED OUTPUT 
Array 
(
    [0] => orange 
    [1] => banana 
    [2] => apple 
    [3] => raspberry 
) 
*/ 
0

nur zum Spaß ...

$array_a = array('0'=>'foo', '1'=>'bar'); 
$array_b = array('foo'=>'0', 'bar'=>'1'); 

$array_c = array_merge($array_a,$array_b); 

$i = 0; $j = 0; 
foreach ($array_c as $key => $value) { 
    if (is_numeric($key)) {$array_d[$i] = $value; $i++;} 
    if (is_numeric($value)) {$array_e[$j] = $key; $j++;} 
} 

print_r($array_d); 
print_r($array_e); 
0

Der schnellste Weg, denke ich

 $newArray = array(); 

for($count == 0;$row = mysql_fetch_assoc($getResults);$count++) 
    { 
    foreach($row as $key => $value) 
    { 
    $newArray[$count]{$key} = $row[$key]; 
    } 
} 
1
$arra=array(); 

for($i=0;i<10;$i++) 
{ 
    $arra[$i]=$i; 
} 
+0

Bitte fügen Sie eine Erklärung mit Ihrer Antwort bei. –

Verwandte Themen