Pouvez liste() dans les prochaines PHP travailler avec des tableaux associatifs en quelque sorte?
Exemple:
list($fruit1, $fruit2) = array('apples', 'oranges');
code ci-dessus fonctionne bien, mais le code ci-dessous:
list($fruit1, $fruit2) = array('fruit1' => 'apples', 'fruit2' => 'oranges');
donne: Notice: Undefined offset: 1 in....
Est-il possible de consulter les clés nommées en quelque sorte avec la liste comme list('fruit1' : $fruit1)
, avez-vous vu quelque chose comme cela prévues pour la prochaine version?
InformationsquelleAutor rsk82 | 2011-12-04
Vous devez vous connecter pour publier un commentaire.
EDIT: Cette approche a été utile retour dans la journée (il était littéralement demandé une réponse sur sept ans), mais voir K-Gun de la réponse ci-dessous pour une meilleure approche plus récente de PHP 7+ syntaxe.
Essayer le
extract()
fonction. Il permettra de créer des variables de tous vos clés, attribué à leurs valeurs associées:extract
, sauf si vous êtes 100% absolument certain clés qui seront présents.getimagesize()
.list()
serait le chemin à parcourir surgetimagesize()
list()
ne fonctionne pas, soit. Parce que les deux derniers éléments de ce tableau ont pas de touches numériques. Je ne comprends pas pourquoi ils ont fait un tel non sens avecgetimagesize()
.list()
avecarray_values()
? Vous avez raison mais-cette fonction est bizarre.extract
. IDEs ne peut pas le manipuler. Et il peut créer un foule d'autres problèmes.extract(array('fruit1'=>'apples','fruit2'=>'oranges')); /** * @var Array $fruit1 * @var Array $fruit2 */
list()
est plus lisible queextract
est.Avec PHP 7.1;
Que sur l'utilisation de array_values()?
array('fruit2'=>'apples','fruit1'=>'oranges')
. La valeur de 'fruit2" est attribué $fruit1 et vice versa.C'est assez simple à mettre en œuvre.
de sortie:
1, , 3
array_values
)extract
) - petit nom de risque de collision, une meilleure IDE de soutienSi vous êtes dans mon cas:
liste() ne fonctionne que sur le tableau numérique. Donc, si vous pouvez, en laissant vide dans fetch() ou fetchAll() -> qu'il y a 2 options possibles: numérique tableau et tableau associatif. Il va travailler.
considèrent cela comme une solution élégante:
extract
ne.