Tengo un array que es el contenido de un fichero de texto plano que su estructura es la misma en todas sus filas, sólo cambia su contenido. ej.:
Código:
... // el contenido de cada linea está separado por comas (,) $s=0; while(!feof($fichero)){ $linea = fgets($fichero,4096); $mi_array1[$s] = explode(",",$linea); $s++; } // fin del while ...
hasta aquí, todo bien...
ahora tengo que leer este array y crear un array de varios arrays según la condición de un elemento de de una fila, o sea, si el elemento 3 de cada fila de mi_array su valor es 0 con la excepción de 3 ó 4 filas que tienen como valor el 1.
Si lees el array de inicio a fin, cada vez que encuentres el valor 1 en el elemento 3 todo el contenido anterior del array almacenalo en otro array y esa fila y las posteriores serán para otro array hasta que vuelva a encontrar otro valor 1 y así sucesivamente.
No se si me he explicado bien... es como un chivato que cuando lo encuentras creas un array de estructura igual que el original (mi_array1) pero con menos filas.
He probado de varias maneras y no consigo hacerlo. Os pondré como creo que se tiene que hacer pero evidentemente algo no está bien.
Código:
a partir de aquí ya no sale lo que yo esperaba. no se si está mal la creación de los arrays de array o está mal la lectura de los arrays de array$f=0; For ($s=0;$s<count($mi_array1);$s++){ $descompone=implode(",",$mi_array1[$s]); $array_temporal=explode(",", $descompone); if ($mi_array1[$s][2]==1){ $nuevo_array[$f]=$array:temporal; $f++; unset($array_temporal); } } // fin del for
y ahora quisiera ver, por ejemplo, el nuevo_array, pero sólo los elementos del 2 grupo ($f=1)
Código:
For ($s=0;$s<count($nuevo_array[1]);$s++){ For ($j=0;$j<count($nuevo_array[1][$s]);$j++){ echo $nuevo_array[1][$s][$j]."<br>"; } // fin del for $j } // fin del for $s
*****************************
por si sirve de algo, esta es la estructura de las filas del fichero de texto plano ($linea):
conceptos= apellido1, apellido2, nombre, jefe, ciudad, pais
fila_1=LOPEZ, GUIRADO, JESUS, 1, MURCIA, ESPAÑA
fila_2=GARCIA, LOPEZ, DIONISIO, 0, MURCIA, ESPAÑA
fila_3=BUSTAMANTE, CANTANTE, JOSE, 0, CACERES, ESPAÑA
fila_n=...
fila_28=DEL POZO, GOME, SERGIO, 1, PARIS, FRANCIA
fila_29=RUIZ, SATUS, ANTONIO, 0, PONTEVEDRA, ESPAÑA
fila_n=...
cada vez que jefe=1 todas las filas siguientes y la misma del jefe tiene que estar en un array y este array está en otro array con todos los jefes y sus empleados. ej.:
array_secciones[0]= la fila de jesus y la de dionisio, jose, etc
array_secciones[1]= la fila de sergio y la de antonio, etc.
*****************************
Gracias de antemano y un saludo a todos.