Jetez un œil à ce code:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Je cherche quelque chose comme ça pour que:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Existe-t-il une fonction pour ce faire? (parce que array_push
ça ne marchera pas comme ça)
$arrayname = array('indexname1' => $value1, 'indexname2' => $value2);
les définirait comme les seuls éléments de$arrayname
. Si vous avez déjà$arrayname
défini et souhaitez conserver ses valeurs, essayez$arrayname += $anotherarray
. Gardez à l'esprit que toutes les clés existantes dans le premier tableau seraient remplacées par le second.$a = array("name" => "John"); $a += array("name" => "Tom");
alors$a["name"]
sera "John"Pousser une valeur dans un tableau crée automatiquement une clé numérique pour elle.
Lorsque vous ajoutez une paire clé-valeur à un tableau, vous avez déjà la clé, vous n'avez pas besoin d'en créer une pour vous. Pousser une clé dans un tableau n'a pas de sens. Vous pouvez uniquement définir la valeur de la clé spécifique dans le tableau.
la source
Vous pouvez utiliser l'opérateur union (
+
) pour combiner des tableaux et conserver les clés du tableau ajouté. Par exemple:Vous pourriez donc faire
$_GET += array('one' => 1);
.Il y a plus d'informations sur l'utilisation de l'opérateur union vs
array_merge
dans la documentation à http://php.net/manual/en/function.array-merge.php .la source
array_merge()
et+
est que lorsque les 2 tableaux contiennent des valeurs sur le même+
opérateur clé ignore la valeur du deuxième tableau (ne remplace pas), il ne renumérote pas / ne réindexe pas non plus les touches numériques ...Je voudrais ajouter ma réponse au tableau et la voici:
espérons que cela aidera quelqu'un
la source
Exactement ce que Pekka a dit ...
Alternativement, vous pouvez probablement utiliser array_merge comme ceci si vous le souhaitez:
Mais je préférerais probablement la méthode de Pekka car elle est beaucoup plus simple.
la source
Je me demande pourquoi la méthode la plus simple n'a pas encore été publiée:
la source
array_merge
et que union union (+=
) se comporte de la façon opposée, c'est-à-dire array_merge respectera la valeur du deuxième tableau et union union respectera la valeur du premier tableau.Ceci est la solution qui peut être utile pour u
Lorsque vous le videz. Le résultat comme celui-ci
la source
Je cherchais juste la même chose et j'ai réalisé que, encore une fois, ma pensée est différente parce que je suis de la vieille école. Je retourne à BASIC et PERL et parfois j'oublie à quel point les choses sont vraiment faciles en PHP.
Je viens de faire cette fonction pour prendre tous les paramètres de la base de données où ils sont 3 colonnes. setkey, item (key) & value (value) et placez-les dans un tableau appelé settings en utilisant la même clé / valeur sans utiliser push comme ci-dessus.
Assez facile et simple vraiment
Donc, comme les autres articles l'expliquent ... En PHP, il n'est pas nécessaire de "POUSSER" un tableau lorsque vous utilisez
Clé => Valeur
ET ... Il n'est pas non plus nécessaire de définir le tableau en premier.
$ array = array ();
Pas besoin de définir ou de pousser. Attribuez simplement $ array [$ key] = $ value; C'est automatiquement un push et une déclaration à la fois.
Je dois ajouter que pour des raisons de sécurité, (P) ou (H) sans rotation (P), je veux dire programmation pour les nuls, je veux dire PHP .... hehehe je vous suggère d'utiliser ce concept uniquement pour ce que je voulais. Toute autre méthode pourrait constituer un risque pour la sécurité. Là, fait ma décharge!
la source
Cela fonctionne très bien. crée la clé avec sa valeur dans le tableau
la source
$arr
tableau existant .Un peu tard, mais si cela ne vous dérange pas un tableau imbriqué, vous pouvez adopter cette approche:
Pour clarifier, si vous générez json_encode ($ main_array) qui ressemblera à [{"Key": "10"}]
la source
Un peu bizarre, mais cela a fonctionné pour moi
la source
// affiche le tableau ['key1' => "value1", 'key2' => "value2"]
la source
salut j'ai eu le même problème je trouve cette solution vous devez utiliser deux tableaux puis les combiner tous les deux
référence: w3schools
la source
La manière simple:
http://php.net/manual/de/function.parse-str.php
la source
Pour ajouter à la première position avec
key
etvalue
la source
Pour envoyer une "clé" et une "valeur" à un tableau existant, vous pouvez utiliser l'
+=
opérateur de raccourci.Voir cet exemple très simple:
Le résultat de
print_r($GET)
sera:la source
Exemple array_merge () ....
$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);
Tableau ([couleur] => vert, [0] => 2, [1] => 4, [2] => a, [3] => b, [forme] => trapézoïdal, [4] => 4 ,)
la source
Ça marche pour moi.
la source
$GET['one']=1
, puis utilise la valeur de retour de cette instruction (= 1, la valeur r), puis s'exécutearray_push($GET, 1)
. Résultat = [0] -> 1, [un] -> 1J'ai écrit une fonction simple:
afin que je puisse "inverser" un nouvel élément facilement:
la source
Il y a un excellent exemple déjà donné ici. Ajout d'un simple exemple pour pousser les éléments du tableau associatif vers l'index d'index numérique racine.
la source
Je fais habituellement ceci:
la source