Echa un vistazo a este código:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Estoy buscando algo como esto para que:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
¿Hay una función para hacer esto? (porque array_push
no funcionará de esta manera)
$arrayname = array('indexname1' => $value1, 'indexname2' => $value2);
los establecería como los únicos elementos en$arrayname
. Si ya ha$arrayname
configurado y desea mantener sus valores, intente$arrayname += $anotherarray
. Tenga en cuenta que las claves existentes en la primera matriz se sobrescribirán en la segunda.$a = array("name" => "John"); $a += array("name" => "Tom");
entonces$a["name"]
será "John"Al insertar un valor en una matriz, se crea automáticamente una clave numérica.
Al agregar un par clave-valor a una matriz, ya tiene la clave, no necesita que se cree una para usted. Empujar una tecla en una matriz no tiene sentido. Solo puede establecer el valor de la clave específica en la matriz.
fuente
Puede usar el operador de unión (
+
) para combinar matrices y mantener las claves de la matriz agregada. Por ejemplo:Entonces podrías hacer
$_GET += array('one' => 1);
.Hay más información sobre el uso del operador de unión frente
array_merge
a la documentación en http://php.net/manual/en/function.array-merge.php .fuente
array_merge()
y+
operador es cuando las 2 matrices contienen valores en el mismo+
operador clave que ignora el valor de la segunda matriz (no anula), tampoco renumera / reindexa las teclas numéricas ...Me gustaría agregar mi respuesta a la tabla y aquí está:
espero que esto ayude a alguien
fuente
Exactamente lo que dijo Pekka ...
Alternativamente, probablemente pueda usar array_merge de esta manera si quisiera:
Pero preferiría el método de Pekka probablemente porque es mucho más simple.
fuente
Me pregunto por qué el método más simple aún no se ha publicado:
fuente
array_merge
y la unión de matriz (+=
) se comporta de la manera opuesta, es decir, array_merge respetará el valor de la segunda matriz y la unión de matriz respetará el valor de la primera matriz.Esta es la solución que puede ser útil para usted
Cuando lo tiras. El resultado como este
fuente
Estaba buscando lo mismo y me di cuenta de que, una vez más, mi pensamiento es diferente porque soy de la vieja escuela. Regreso a BASIC y PERL y a veces olvido lo fácil que son las cosas en PHP.
Acabo de hacer esta función para tomar todas las configuraciones de la base de datos donde hay 3 columnas. setkey, item (key) y value (value) y colóquelos en una matriz llamada configuración usando la misma clave / valor sin usar push como se indicó anteriormente.
Bastante fácil y simple realmente
Entonces, como explican las otras publicaciones ... En php no hay necesidad de "EMPUJAR" una matriz cuando está usando
Clave => Valor
Y ... No hay necesidad de definir primero la matriz tampoco.
$ matriz = matriz ();
No es necesario definir o empujar. Simplemente asigne $ array [$ clave] = $ valor; Es automáticamente un empuje y una declaración al mismo tiempo.
Debo agregar que por razones de seguridad, (P) o (H) elpless (P) rotection, me refiero a Programación para Dummies, me refiero a PHP ... jejeje, sugiero que solo utilices este concepto para lo que pretendía. Cualquier otro método podría ser un riesgo para la seguridad. ¡Allí, hice mi descargo de responsabilidad!
fuente
Esto funciona bien. crea la clave con su valor en la matriz
fuente
$arr
matriz existente .Un poco tarde, pero si no te importa una matriz anidada, puedes adoptar este enfoque:
Para aclarar, si genera json_encode ($ main_array) se verá como [{"Key": "10"}]
fuente
Un poco raro, pero esto funcionó para mí.
fuente
// imprime la matriz ['key1' => "value1", 'key2' => "value2"]
fuente
hola tuve el mismo problema, encuentro esta solución, debes usar dos matrices y luego combinarlas
referencia: w3schools
fuente
La manera simple:
http://php.net/manual/de/function.parse-str.php
fuente
Para agregar a la primera posición con
key
yvalue
fuente
Para insertar una "clave" y un "valor" en una matriz existente, puede usar
+=
operador de acceso directo.Vea este ejemplo muy simple:
El resultado de
print_r($GET)
será:fuente
Ejemplo 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);
Matriz ([color] => verde, [0] => 2, [1] => 4, [2] => a, [3] => b, [forma] => trapecio, [4] => 4 ,)
fuente
Esto funciona para mi.
fuente
$GET['one']=1
, luego usa el valor de retorno de esa declaración (= 1, el valor r), y luego se ejecutaarray_push($GET, 1)
. Resultado = [0] -> 1, [uno] -> 1Escribí una función simple:
para poder "adherir" un nuevo elemento fácilmente:
fuente
Hay algunos buenos ejemplos ya dados aquí. Simplemente agregue un ejemplo simple para empujar elementos de matriz asociativa al índice de índice numérico raíz.
fuente
Usualmente hago esto:
fuente