Ich suche nach einer schnellen Möglichkeit, ein assoziatives Array in einen String umzuwandeln. Eine typische Struktur wäre wie eine URL- &
Abfragezeichenfolge, jedoch mit anpassbaren Trennzeichen, sodass ich ' ' für XML-Links oder ' &
' auf andere Weise verwenden kann.
Meine erste Neigung ist es, zu verwenden, foreach
aber da meine Methode in einer Anfrage mehrmals aufgerufen werden könnte, befürchte ich, dass sie zu langsam sein könnte.
<?php
$Amp = $IsXhtml ? '&' : '&';
$Parameters = array('Action' => 'ShowList', 'Page' => '2');
$QueryString = '';
foreach ($Parameters as $Key => $Value)
$QueryString .= $Amp . $Key . '=' . $Value;
Gibt es einen schnelleren Weg?
Antworten:
Sie können das verwenden
http_build_query()
, um das zu tun.quelle
http_build_query
Escape Special CharNebenbei war ich auf der Suche nach dem besten Weg, ein assoziatives Array zu implodieren, aber mit meinen eigenen Trennzeichen usw.
Also habe ich dies mit der Funktion array_walk () von PHP getan, damit ich ein assoziatives Array zu einer Liste von Parametern zusammenfügen kann, die dann auf ein HTML-Tag angewendet werden können.
Natürlich könnten Sie das irgendwie in Ihre eigene Funktion einfügen, aber es gibt Ihnen eine Vorstellung davon, wie Sie mit Ihrer eigenen Methode einem assoziativen Array beitreten können. Hoffe das hilft jemandem :)
quelle
Wenn Sie sich nicht um die genaue Formatierung kümmern , möchten Sie jedoch etwas Einfaches, aber ohne die Zeilenumbrüche können
print_r
Sie auchjson_encode($value)
eine schnelle und einfache formatierte Ausgabe verwenden. ( Beachten Sie, dass es auch bei anderen Datentypen gut funktioniert. )quelle
Dies ist meine Lösung zum Beispiel für ein div-Datenattribut:
quelle
Eine Möglichkeit ist die Verwendung von
print_r(array, true)
und es wird eine Zeichenfolgendarstellung des Arrays zurückgegebenquelle
key=value
mit einem mitgelieferten Trennzeichen verbunden.quelle
Ein Einzeiler zum Erstellen einer Zeichenfolge von HTML-Attributen (mit Anführungszeichen) aus einem einfachen Array:
Beispiel:
quelle
Meine Lösung:
quelle
Was ist mit diesem kürzeren, transparenteren und dennoch intuitiveren Array_walk?
quelle
Dies ist die grundlegendste Version, die ich mir vorstellen kann:
quelle
key=value
mit einem gewählten Trennzeichen!$companies->toArray()
- Dies ist nur für den Fall, dass Sie$variable
ein Objekt sind, andernfalls übergeben Sie einfach $ Unternehmen.Das ist es!
quelle