Pregunta:
Fecha: 26-02-2015 06:39:46
(En Español)
Por Ejemplo:
Saludos! Votos: 1 - Respuestas: 9 - Vistas: 27 Compartir en: Google Facebook Twitter LinkedIn Link
array_push() y arrays asociativos[Resuelta]
Mediante la función array_push() quiero agregar un elemento al final de un arreglo asociativo.Por Ejemplo:
$clerk=array( 'user'=>'Scott', 'cuenta' =>'5598746', 'phone'=>'02597878', 'pass'=>'acvf45', 'codigo'=>'XMWERT01' ); array_push ($clerk['edad'=>'24']); echo $clerk[5];
Saludos! Votos: 1 - Respuestas: 9 - Vistas: 27 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 26-02-2015 06:55:54 Esto no tiene sentido...
echo $productos[5];
podrías hacer un print_r($clerk)
saludos Votos: 0 - Link respuesta -
Fecha: 26-02-2015 07:33:00 Ola. Tenta não usar o array push. Podes usar isto:
$clerk = array( "user" => "Scott", "cuenta" => 5598746, "phone" => 02597878, "pass" => "acvf45", "codigo" => "XMWERT01" ); $clerk["edad"] = 24;
Ao fazer isto ele insere o edad = 24 no final do array.
Quanto ao $produtos[5] não percebi o que queres fazer. Votos: 3 - Link respuesta -
Fecha: 26-02-2015 11:03:37 El error esta de array_push() en adelante..
yo haria algo asi y creo que seria mejor..
$clerk = array( "user" => "Scott", "cuenta" => 5598746, "phone" => 02597878, "pass" => "acvf45", "codigo" => "XMWERT01" ); $other = array( 'other' =>'xxxxx' ); $clerk = arrary_merge( $other, $clerk); print_r($clerk);
Esta función es muy limpia cuando se trata de arreglos asociativos..
Saludos Votos: 4 - Link respuesta -
Fecha: 26-02-2015 14:56:44
<?php $clerk=array( 'user'=>'Scott', 'cuenta' =>'5598746', 'phone'=>'02597878', 'pass'=>'acvf45', 'codigo'=>'XMWERT01' ); array_push ($clerk['edad']=24,$clerk); echo $clerk['edad']; ?>
Votos: -1 - Link respuesta -
Fecha: 26-02-2015 17:55:07 Hola Crisitan, muy buena tu pregunta, lamento informarte que PHP no tiene una función nativa para realizar esto (si un milllón de alternativas), pero la función array_push genera una clave numérica siempre, por lo que no te será útilil para los array's asociativos.
Aquí el link a la documentación oficial de la función: http://php.net/manual/es/function.array-push.php
Como alternativa puedes crear tu propia función array_push_assoc(), por ejemplo:
function array_push_assoc(array &$arrayDatos, array $values){ $arrayDatos = array_merge($arrayDatos, $values); }
Y luego utilizarla para tu caso de la siguiente forma:
$clerk=array( 'user'=>'Scott', 'cuenta' =>'5598746', 'phone'=>'02597878', 'pass'=>'acvf45', 'codigo'=>'XMWERT01' ); //hago push de un solo dato array_push_assoc($clerk, array('edad'=>'24')); //hago push de multiples datos array_push_assoc($clerk, array('direccion'=>'123 FAKE ST.', 'otraclave'=>'otrovalor')); //veamos como quedo el array: echo '<pre>'; print_r($clerk); echo '</pre>';
/* Resultado: Array ( [user] => Scott [cuenta] => 5598746 [phone] => 02597878 [pass] => acvf45 [codigo] => XMWERT01 [edad] => 24 [direccion] => 123 FAKE ST. [otraclave] => otrovalor ) */
Espero que mi respuesta te sea de ayuda.
Saludos y buen códio!
Fernando Votos: 3 - Link respuesta -
-
Fecha: 25-01-2017 06:28:00 Recién estaba buscando este tipo de función array_push que sea asociativo.
Buscando en google una de las primeras sugerencia se refería a este post el cual me ha dado la respuesta correcta ya que las anteriores no era lo que necesitaba.
La solución la brindo Fernando aquí con la funcion creada array_push_assoc, muchísimas gracias ;)
Estaría bueno que dicha función sea nativa en PHP
Saludos Votos: 2 - Link respuesta -
Fecha: 25-03-2022 19:07:04
function array_push_assoc(array &$arrayDatos, array $values){ $arrayDatos = array_merge_recursive($arrayDatos, $values); }
Es una opción si no desean sobre escribir datos si poseen la misma 'clave'.
PD: Gracias Fernando! Votos: 0 - Link respuesta -
Fecha: 25-03-2022 19:48:58 PREGUNTA!
Porque tiene ese comportamiento la funcion array_push_assoc() agregando algunos elementos con índice numérico. Si fuera del FOR si crea el elemento asociativo como se espera.
function array_push_assoc(array &$arrayDatos, array $values){ $arrayDatos = array_merge($arrayDatos, $values); } function multiplicacionSecuencial(int $multiplicando, int $inicio=0, int $fin=10):array{ $array=[]; array_push_assoc($array,["multiplicando"=>$multiplicando]); for ($i = $inicio; $i <= $fin; $i++){ $multiplicador = strval($i); $producto = strval($multiplicando * $i); array_push_assoc($array,[$multiplicador=>$producto]); } array_push_assoc($array,["clave"=>"valor"]); array_push_assoc($array,["otraCosa"]); return $array; } echo "<pre>"; var_dump(multiplicacionSecuencial(5,9,10)); //se espera que el primer elemento de info sobre de que numero quiero la tabla, y los demas elementos cual seria el multiplicador y su producto respectivo /* array(5) { ["multiplicando"]=> int(5) [0]=> string(2) "45" [1]=> string(2) "50" ["clave"]=> string(5) "valor" [2]=> string(8) "otraCosa" } */Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
