Foros del Web » Programando para Internet » PHP »

agregar elementos a un array en una posicion especifica

Estas en el tema de agregar elementos a un array en una posicion especifica en el foro de PHP en Foros del Web. EStimados gracias por leer mi pregunta. Mi consulta es como puedo hacer para agregarle elementos en una posición especifica dinamicamente a un array. Actualmente he ...
  #1 (permalink)  
Antiguo 03/10/2015, 19:23
 
Fecha de Ingreso: septiembre-2013
Ubicación: Ecuador
Mensajes: 18
Antigüedad: 6 años, 3 meses
Puntos: 0
Pregunta agregar elementos a un array en una posicion especifica

EStimados gracias por leer mi pregunta.

Mi consulta es como puedo hacer para agregarle elementos en una posición especifica dinamicamente a un array.

Actualmente he conseguido ingresar elementos por medio de un for pero estoy teniendo problemas cuando el for ingresa por segunada vez me sobreescribe la infomación de esta dos nuevas columnas que estoy creando dinamicamente al array con nombre $evtComprometidos aunque intento sumarle +1 al array_slice para ver si me escribe en la siguinte posición pero aun asi no lo hace.

Necesito de su acostumbra ayuda indicandome como puedo hacer para agregar dinamicamente key=>value a un array o si conocen un mejor metodo de hacerlo le agradezco antemano..adjunto codigo[]

Hay manera de hacer un for dentro de una array algo como esto ?

$d = array (

for( ){

crear los elementos ?
}

);


Código:
$idCajeros = explode("-",$data['IDENTCAJERO']);
$fechUltimoR = explode("|",$data['REGISTROS_ANT']);

 $evtComprometidos = array(
           'Código:' =>$data['COD_ID'],
            'Número de Cajeros:' =>$data['CAJEROS'],
            'Institución:' =>$data['INSTITUCION'],
            'Ubicación:' =>$data['UBICACION'],
            'Institución Cajero:' =>$data['DESACCIONES'],
            'Ciudad:' =>$data['CIUDAD'],
            //aqui intento agregar los nuevos elementos que estoy creando en el for que se encuentra mas abajo
            'Fecha de Registro1:' =>$data['FECHAREGISTRO1'],
            'Fecha de Registro:' =>$data['FECHAREGISTRO']
);

for($r = 0; $r < count($fechUltimoR);$r++){
                $var = $r+1;
//entiendo que aqui me sobrescibe los datos pero no se como evitarlo 
$b = array_merge(array_slice($evtComprometidos, 0+$var, 6+$var),//intento +1 para que escriba en la siguinte posicion pero no lo realiza
                     array("Cajero {$var}" =>$idCajeros[0]."-".$idCajeros[$var],
                            "F. Último Registro {$var}" =>$fechUltimoR[$r]
                           ),
                     array_slice($evtComprometidos,2));
}
return $b;
  #2 (permalink)  
Antiguo 04/10/2015, 04:42
 
Fecha de Ingreso: diciembre-2009
Mensajes: 92
Antigüedad: 10 años
Puntos: 13
Respuesta: agregar elementos a un array en una posicion especifica

Hola;

Creo que sería algo así:

Código PHP:
$idCajeros explode("-",$data['IDENTCAJERO']);
$fechUltimoR explode("|",$data['REGISTROS_ANT']);

$evtComprometidos = array(
    
'Código:' =>$data['COD_ID'],
    
'Número de Cajeros:' =>$data['CAJEROS'],
    
'Institución:' =>$data['INSTITUCION'],
    
'Ubicación:' =>$data['UBICACION'],
    
'Institución Cajero:' =>$data['DESACCIONES'],
    
'Ciudad:' =>$data['CIUDAD'],
    
//aqui intento agregar los nuevos elementos que estoy creando en el for que se encuentra mas abajo
    
'Fecha de Registro1:' =>$data['FECHAREGISTRO1'],
    
'Fecha de Registro:' =>$data['FECHAREGISTRO']
);

$parte_uno array_slice$evtComprometidos0);
$parte_dos = array();
$parte_tres array_slice$evtComprometidos);

for ( 
$r 0$r count($fechUltimoR); $r++ ) {
    
$var $r+1;

    
$parte_dos["Cajero {$var}"] = $idCajeros[0]."-".$idCajeros[$var];
    
$parte_dos["F. Último Registro {$var}"] = $fechUltimoR[$r];

}

$b array_merge$parte_uno$parte_dos$parte_tres );

return 
$b

Nota: Los arrays clave-valor creo que no están diseñados para tenerlos ordenados, creo que deberías buscar otra forma de almacenar los datos.

Saludos.

Etiquetas: elementos, especifica, fecha, posicion, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:38.