Je recherche un moyen rapide de transformer un tableau associatif en une chaîne. La structure typique serait comme une chaîne de requête URL mais avec des séparateurs personnalisables afin que je puisse utiliser « &
» pour les liens xhtml ou « &
» autrement.
Ma première inclination est d'utiliser, foreach
mais comme ma méthode peut être appelée plusieurs fois en une seule demande, je crains qu'elle ne soit trop lente.
<?php
$Amp = $IsXhtml ? '&' : '&';
$Parameters = array('Action' => 'ShowList', 'Page' => '2');
$QueryString = '';
foreach ($Parameters as $Key => $Value)
$QueryString .= $Amp . $Key . '=' . $Value;
Y at-il un moyen plus rapide?
Réponses:
Vous pouvez utiliser
http_build_query()
pour le faire.la source
http_build_query
échapper au caractère spécialEn passant, j'étais à la recherche du meilleur moyen d'imploser un tableau associatif mais en utilisant mes propres séparateurs etc ...
J'ai donc fait cela en utilisant la fonction array_walk () de PHP pour me permettre de joindre un tableau associatif dans une liste de paramètres qui pourraient ensuite être appliqués à une balise HTML ...
Évidemment, vous pouvez coller cela dans votre propre fonction, mais cela vous donne une idée de la manière dont vous pouvez joindre un tableau associatif en utilisant votre propre méthode. J'espère que cela aide quelqu'un :)
la source
Si vous n'êtes pas préoccupé par le formatage exact, vous voulez quelque chose de simple, mais sans les sauts de ligne,
print_r
vous pouvez également l'utiliserjson_encode($value)
pour une sortie formatée rapide et simple. ( notez que cela fonctionne bien sur d'autres types de données aussi )la source
C'est ma solution par exemple pour un div data-attributes:
la source
Une façon est d'utiliser
print_r(array, true)
et il retournera une représentation sous forme de chaîne du tableaula source
key=value
joint avec un séparateur fourni.la source
Une ligne pour créer une chaîne d'attributs HTML (avec guillemets) à partir d'un simple tableau:
Exemple:
la source
Ma solution:
la source
Qu'en est-il de ce plus court, plus transparent, mais plus intuitif avec array_walk
la source
C'est la version la plus basique à laquelle je puisse penser:
la source
key=value
avec un séparateur choisi!$companies->toArray()
- c'est juste au cas où si vous$variable
êtes un objet, sinon il suffit de passer $ companies.C'est tout!
la source