2016-04-19 10 views
-1

erstellen Ich muss Wert auf ein Array von einer for-Schleife basierend auf einer Zahl in der Datenbank gefunden werden.PHP-Array aus Schleife und ohne Klammern in Schlüssel

Hier ist das Szenario.

$num_images = 5;  
$numb_images = array(); 
     for ($x = 1; $x <= $num_images; $x++) { 

      #$numb_images[] = array('image' . $x => '_image' . $x); 
      $numb_images['image' . $x] = "_image" . $x; 
     } 

Als ich print_r ($ numb_images) tun, wird es die folgenden

Array ([image1] => _image1 [image2] => _image2 [image3] => _image3 [image4] => _image4 [image5] => _image5) 

2 Ausgaben drucken. es druckt den Schlüssel mit geschweiften Klammern [], die ich nicht will.

Die zweite Sache ist, es druckt sie alle in der gleichen Zeile. So bevölkern

$numb_images = array(
     'image1' => '_image1', 
     'image2' => '_image2', 
    ); 

die image1 => _image1 key/Paar geschleift werden muss, von der angegebenen Nummer

Das ist genau, wie ich es brauche.

Jede Hilfe wird sehr geschätzt.

Dank

+0

'var_export()'. – Rizier123

+0

Hier gibt es kein echtes Problem. '[]' bedeutet nicht, dass es der eigentliche Inhalt/Schlüssel davon ist. Es ist nur da, um den Array-Schlüssel darzustellen. – rmondesilva

+0

@ Rizier123 danke. Ich habe das versucht. scheint es ein wenig geholfen hat aber einzelne Anführungsstriche um Schlüssel und Wert beide gebracht. Ich kann auch nicht mit einfachen Anführungszeichen verwenden. danke –

Antwort

0

Funktion print_r ist nützlich, wenn Sie drucken möchten, was in einer Variablen gespeichert ist. Und es ist Output-Variable, die Sie auf die richtige Weise erstellt werden.

Wenn Sie das tun print_r in Array

$numb_images = array(
     'image1' => '_image1', 
     'image2' => '_image2', 
    ); 

Ergebnis wird analogical sein:

Array ([image1] => _image1 [image2] => _image2) 

So ist es kein Problem. Funktion print_r druckt in Klammern [] Taste des Array-Elements.

EDIT:

Sie benötigen foreach Schleife diese Felder zu zeigen. Nehmen wir an, wir haben Array wie folgt aus:

$numb_images = array(
     'image1' => '_image1', 
     'image2' => '_image2', 
     'image4' => '_image4', 
     'image6' => '_image6', 
    ); 

Nun ist diese zu drucken, ohne Größe des Arrays zu wissen, die Sie verwenden können foreach:

foreach($numb_images as $key => $value) 
{ 
    echo $key . ' ' . $value. '<br/>'; 
} 

Ausgang:

image1 _image1 
image2 _image2 
image4 _image4 
image6 _image6 

Mehr Informationen über foreach: http://php.net/manual/en/control-structures.foreach.php

+0

Ich verstehe. aber meine WP-Plugin-Funktion funktioniert nicht. Es benötigt den Array-Wert genau wie ich zuvor erwähnt habe. Aus irgendwelchen Gründen funktioniert es nicht, wenn ich eine Schleife mache. wenn ich manuell das Beispiel mag, funktioniert es –

+0

@Ali, vielleicht verstehe ich nicht, was das Problem ist. Kannst du es deutlicher erklären? – aslawin

+0

Sicher. Ich werde versuchen, genauer zu sein. Es gibt ein Wordpress-Plugin, das ich mache. und es hat eine Bildergalerie. Um die Anzahl der Bild-Upload-Felder anzuzeigen, muss ich das Array in dem oben genannten Format bereitstellen. Ich möchte, dass das Array dynamisch ist, also bin ich nicht auf X beschränkt. Die Anzahl der Bilder kann jedoch mit der for-Schleife geändert werden. oder etwas ähnliches. hoffe es hilft besser zu verstehen. –

Verwandte Themen