Foros del Web » Programando para Internet » PHP »

Ayuda me vuelven loco los arrays

Estas en el tema de Ayuda me vuelven loco los arrays en el foro de PHP en Foros del Web. Tengo que ir agregando alementos a un array en un archivo txt, hasta ahora venia bien con arrays simples, pero me veo obligado a usar ...
  #1 (permalink)  
Antiguo 03/02/2005, 19:02
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
Ayuda me vuelven loco los arrays

Tengo que ir agregando alementos a un array en un archivo txt, hasta ahora venia bien con arrays simples, pero me veo obligado a usar una matriz o algo x el estilo porq necesito guardar para cada elemento una cantidad infinita de elementos, por ejemplo asi:

array[0] = elem[0]
elem[1]
elem[2]
elem[3]
.
.
.
.
array[1] = elem[0]
elem[1]
elem[2]
elem[3]
.
.
.
.
array[2] = elem[0]
elem[1]
elem[2]
elem[3]
.
.
.
.

yo hacia de esta forma:
array[] = $nuevoelemento
y agregaba, pero ahora como seria?? no me sale :(

gracias
  #2 (permalink)  
Antiguo 03/02/2005, 21:14
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
intenta este procedimiento con un while, guarda procedimientos de array que se encuentran disponibles. Hay más información en www.php.net/while

Última edición por lado2mx; 03/02/2005 a las 21:16
  #3 (permalink)  
Antiguo 03/02/2005, 22:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 20 años, 2 meses
Puntos: 0
Algo asi ?

Código PHP:
$pArr = array();
$xArr = array( 'A''B''C''D''E');

foreach ( 
$xArr as $letra )
   
$pArr[0][] = $letra

echo 
'<pre>';

var_dump($pArr); 
  #4 (permalink)  
Antiguo 04/02/2005, 09:20
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
no se puede hacer asi? por ejemplo tengo este array:

$lala = array(array(1,2,3),array(4,5,6),array(7,8,9));

se puede agregar un elemento asi?

$lala[1][] = $nuevoElemento

entonces quedaria asi:

$lala = array(array(1,2,3),array(4,5,6,$nuevoElemento),arr ay(7,8,9));


pero tambien hay otro problema, q pasa si cuando quiero agregar algo, el array no existe?? como puedo declarar el array vacio??
  #5 (permalink)  
Antiguo 04/02/2005, 09:39
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Puedes declararlo con NULL, como valor vacio.

Y la variable $lala[1][1] se llaman variables bidireccionales, muy buenos en caso de sesiones con datos de usuarios que tienen muchísimos datos.

Es como si practicaras coordenadas.
  #6 (permalink)  
Antiguo 04/02/2005, 17:12
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
no entiendo, sigue sin andar :(
  #7 (permalink)  
Antiguo 04/02/2005, 17:47
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 22 años
Puntos: 0
Esta forma es correcta $lala[1][] = $nuevoElemento no veo porque no te anda

Hay varias formas de introducir elementos en un array, por ejemplo, los 3 metodos que pongo a continuacion son identicos:

Código PHP:
$data[] = "elemento1";
$data[0] = "elemento1";
$data = array("elemento1");
array_push($data"elemento1"); 
Si el array es de grado 2 o superior lo unico que debes hacer es anidar los metodos, por ejemplo:

Código PHP:
$db[] = array("fila1dato1","fila1dato2","fila1dato3",...,"fila1datoN");
$db[] = array("fila2dato1","fila2dato2","fila2dato3",...,"fila2datoN");
$db[] = array("fila3dato1","fila3dato2","fila3dato3",...,"fila3datoN");
.
$db[] = array("filaNdato1","filaNdato2","filaNdato3",...,"filaNdatoN"); 
Otra manera de hacerlo, y quizas mas ordenada y facil de entender hasta que te acostumbres, podria ser:

Código PHP:
$fila1[] = "elemento1";
$fila1[] = "elemento2";
$fila1[] = "elemento3";
.
$fila1[] = "elementoN";


$fila2[] = "elemento1";
$fila2[] = "elemento2";
$fila2[] = "elemento3";
.
$fila2[] = "elementoN";


$filaN[] = "elemento1";
$filaN[] = "elemento2";
$filaN[] = "elemento3";
.
.
.
$filaN[] = "elementoN";

y luego las unes asi

$db
[] = $fila1;
$db[] = $fila2;
.
$db[] = $filaN
Espero que se me haya entendido.

Salutes!

Última edición por H0m3r0J4y; 04/02/2005 a las 17:51
  #8 (permalink)  
Antiguo 05/02/2005, 10:31
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
bueno cualkier cosa me escribe en el txt, me escribe la palabra array...

me queda asi:

$com[0] = "Array";
$com[1] = "Array";
$com[2] = "Array";



y lo hago asi yo

Código PHP:
include($_SERVER['DOCUMENT_ROOT']."/Replays/Downloads-Ratings.txt");
$i $_GET['rep'];
..
..
$com str_replace("\n""<br>"$_POST['Comment']);
if (!
is_array($comments[$i])) $comments[$i] = array($com);
else 
$comments[$i][] = $com;
...
...
for (
$j=0;$j<count($comments);$j++) fwrite($d"\$comments[$j] = \"$comments[$j]\";\r\n"); 
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 15:24.