PHP - Arrays en PHP

 
Vista:
sin imagen de perfil

Arrays en PHP

Publicado por JIMMY (7 intervenciones) el 04/08/2016 22:34:29
Buenas Tardes, necesito realizar un array en PHP, donde haga un registro de personas en un listado, el cual ya tengo, pero me pide también que el sistema evalúe si el nombre del color existe en un segundo arreglo que contiene: el nombre del color y el significado de cada uno, en caso de encontrarlo, es necesario escribir en una última columna de la Tabla 1 el significado del color, de lo contrario debe escribir la frase “No se encuentra el significado”.

El código que llevo se presenta a continuación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html>
    <head>
        <title>Arreglos Listado Agenda Telefonica</title>
        <meta http-equiv="Content-Type"
              content="text/html; charset=ISO-8859-1" />
    </head>
    <body>
        <h3>Listado Agenda</h3>
        <?php
        /* En este programa se va a especificar la forma de
         * declarar arreglos y acceder a la información que contiene
         */
        //Arreglo con llaves numéricas
        $cabecera=array("Nombre","Direccion","Telefono", "Fecha de Cumpleanos", "Color Favorito", "Significado");
        $nombres=array("Jimmy Riera","Valera","041412345678", "05/01/1976", "Amarillo");
        $direccion=array("Antonio Lopez","Motatan","041245612378", "08/02/1976", "Rojo");
        $telefono=array("Paola Reverol","Pampan","04145551212", "15/12/2000", "Verde");
        $fechaCumple=array("Manuela Saez","Trujillo","0272-5552212", "31/06/1999", "Rosado");
        $color=array("Juan Rojo","Valera","041412345678", "05/01/1976", "Azul");
        $directorio=array($cabecera,$nombres,$direccion,$telefono,$fechaCumple,$color);
		$key=array("Amarillo : Riqueza-Pureza");
        $result = isset($colores[$key]) ? $array[$key] : "No se encuentra el significado";
		?>
<table border="1" width="60%" cellspacing="0">
<?php
foreach ($directorio as $fila){
        echo "<tr>";
        foreach ($fila as $celda){
                echo "<td> $celda </td>";
                }
        echo "</tr>";
        }
?>
</table>
		    </p>
    </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Arrays en PHP

Publicado por kip (877 intervenciones) el 05/08/2016 02:25:00
Hola, a mi parecer creo que no tienes muy claro el manejo de arreglos en PHP, la verdad es que tienes un enredo total alli, te recomiendo re-estructurar, aunque es a tu criterio, yo solo te doy mi opinion.

Aqui te dejo lo que necesitas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>
<html>
<head>
<title>Arreglos Listado Agenda Telefonica</title>
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1" />
</head>
<body>
<h3>Listado Agenda</h3>
<?php
/* En este programa se va a especificar la forma de
* declarar arreglos y acceder a la información que contiene
*/
//Arreglo con llaves numéricas
$cabecera=array("Nombre","Direccion","Telefono", "Fecha de Cumpleanos", "Color Favorito", "Significado");
$nombres=array("Jimmy Riera","Valera","041412345678", "05/01/1976", "Amarillo");
$direccion=array("Antonio Lopez","Motatan","041245612378", "08/02/1976", "Rojo");
$telefono=array("Paola Reverol","Pampan","04145551212", "15/12/2000", "Verde");
$fechaCumple=array("Manuela Saez","Trujillo","0272-5552212", "31/06/1999", "Rosado");
$color=array("Juan Rojo","Valera","041412345678", "05/01/1976", "Azul");
$directorio=array($cabecera,$nombres,$direccion,$telefono,$fechaCumple,$color);
$colors=array("Amarillo" =>"Riqueza-Pureza","Verde" =>"Esperanza-Fe");
$array = null;
$i=0;
$j=1;
?>
<table border="1" width="60%" cellspacing="0">
	<?php
	$keys = array_keys($colors);
	foreach ($directorio as $fila){
		echo "<tr>";
		foreach ($fila as $celda){
			echo "<td> $celda </td>";
			foreach ($keys as $value2){
				$array = ($celda==$value2) ? $colors[$celda] : '';
				echo ($i==10 ) ? ($a = (in_array($array,$colors)) ? "<td>$array</td>" : '') : '';
				echo ($i==15) ? ($a =(in_array($array,$colors)) ? "<td>$array</td>" : '') : '';
				echo ($i==20) ? ($a =(in_array($array,$colors)) ? "<td>$array</td>" : '') : '';
				echo ($i==25) ? ($a =(in_array($array,$colors)) ? "<td>$array</td>" : '') : '';
				echo ($i==30) ? ($a =(in_array($array,$colors)) ? "<td>$array</td>" : '') : '';
			}
			$i++;
		}
		echo ($j>count($colors) and $a == '') ? "<td>No tiene significado</td>" : '';
		echo "</tr>";
		$j++;
	}
	?>
</table>
</p>
</body>
</html>

Para ahorrar lineas use el operador ternario, ademas agregue otro color para probar su funcionamiento.

Podrias contarnos que tipo de sistema estas desarrollando? Lo pregunto para ver si podemos orientarte a mejorar aquella estructura de arreglos.

Espero te sirva el codigo, nos cuentas si asi fue.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Arrays en PHP

Publicado por JIMMY (7 intervenciones) el 05/08/2016 16:22:10
Buenos Días amigo, no es un sistema es un curso on line que estoy realizando, no tengo mucha experiencia, pero he revisado varios tutoriales y si que tienes razón, los arreglos se manejan de forma diferente. Muchas gracias por tu observación, seguiré practicando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar