PHP - Array bimensional- Sacar el total de un valor

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Array bimensional- Sacar el total de un valor

Publicado por Pablo (3 intervenciones) el 09/10/2019 17:56:18
Hola a todos. Me estoy iniciando en el tema de la programación. Tengo muchas dudas y he realizado varios intentos sin éxito. Estoy tratando de hacer un ejercicio, donde lo que necesito es lo siguiente:

1.- Que se muestre: Ej. Guitarristas: Cantidad: 12
Bateristas: Cantidad: 13 ....

Y así hasta finalizar.

2.- Que se muestre el total de músicos, basado en 'Cantidad' : Es decir sumando la clave 'Cantidad' .

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
$musicos =array(
    array(//Dimension
        'Instrumento' =>'Guitarritas',
        'Nivel' => 'Inicial',
        'Cantidad' => 12,
    ),
    array(
        'Instrumento' =>'Bateristas',
        'Nivel' =>'Inicial',
        'Cantidad' => 13,
    ),
    array(
        'Instrumento' =>'Tecladitas',
        'Nivel' =>'Inicial',
        'Cantidad' => 15,
    ),
    array(
        'Instrumento' =>'Percusionitas',
        'Nivel' =>'Inicial',
        'Cantidad' => 7,
    ),
    array (
        'Instrumento'=> 'Trompetistas',
        'Nivel'=> 'Inicial',
        'Cantidad' => 5,
    )
);

He probado con foreach, barriendo con for el array, pero no llego a resolverlo. Si pudieran ayudarme. Estaría totalmente agradecido.

Muchas gracias y saludos.
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Array bimensional- Sacar el total de un valor

Publicado por Alejandro (840 intervenciones) el 09/10/2019 18:05:02
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Es de lo mas sencillo, por favor pon tu código para indicarte los errores que cometes y las posibles soluciones.
Por cierto, usa el botón </> cuando pongas tu código.
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Array bimensional- Sacar el total de un valor

Publicado por Pablo (3 intervenciones) el 10/10/2019 17:38:48
Muchas gracias Alejandro por la pronta respuesta. Hasta aquí logre hacer, pero no se como CREAR CODIGO para que solo me muestre :

1.- Ej. Guitarristas: Cantidad: 12
Bateristas: Cantidad: 13 ....

Y así hasta finalizar.

2.- Que se muestre el total de músicos, basado en 'Cantidad' : Es decir sumando la clave 'Cantidad' .


CODIGO:

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
53
54
55
<?php
  $musicos =array(
    array(//Dimension
        'Instrumento' =>'Guitarritas',
        'Nivel' => 'Inicial',
        'Cantidad' => 12,
    ),
    array(
        'Instrumento' =>'Bateristas',
        'Nivel' =>'Inicial',
        'Cantidad' => 13,
    ),
    array(
        'Instrumento' =>'Tecladitas',
        'Nivel' =>'Inicial',
        'Cantidad' => 15,
    ),
    array(
        'Instrumento' =>'Percusionitas',
        'Nivel' =>'Inicial',
        'Cantidad' => 7,
    ),
    array (
        'Instrumento'=> 'Trompetistas',
        'Nivel'=> 'Inicial',
        'Cantidad' => 5,
    )
);
 
 
 
//Musicos que solo llegan a conformar un grupo de 15 personas.
 
for ($i=0; $i<sizeof($musicos);$i++)
{
    if($musicos[$i]['Cantidad']== 15)
    echo "Grupos que alcanzan a conformar un total de solo 15 músicos: <strong>". $musicos[$i]['Instrumento'] . "<strong><br>";
 
}
echo "<br>";
echo "<br>";
 
 // Imprime todos los keys y valores uno por  uno
 $keys = array_keys($musicos);
 for($i = 0; $i < count($musicos); $i++) {
     echo $keys[$i] . "{<br>";
     foreach($musicos[$keys[$i ]] as $key => $value) {
         echo $key . " : " . $value . "<br>";
     }
     echo "}<br>";
 }
 echo "<br>";
 echo "<br>";
 
?>
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
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Array bimensional- Sacar el total de un valor

Publicado por Alejandro (840 intervenciones) el 10/10/2019 18:44:36
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
No veo que en tu código tengas algo sobre lo que requieres, esto lo hace.
1
2
3
4
5
6
$total=0;
foreach($musicos as $musico){
	echo $musico['Instrumento'].': Cantidad: '.$musico['Cantidad'].'<br />';
	$total+=$musico['Cantidad'];
}
echo "<br />Total de musicos: $total<br /><br />";
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
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Array bimensional- Sacar el total de un valor

Publicado por Pablo (3 intervenciones) el 10/10/2019 20:25:05
Muchas gracias Alejandro, por la paciencia y el tiempo. Me ha servido de mucho. Justamente es lo que quería. No puse el código por que creo lo estaba complicando mucho, para lo fácil que era. Recién comienzo a estudiar , y no llego a comprender al parecer como utilizar for o foreach. Aqui comenzaba a realizar el codigo.
1
2
3
4
5
6
7
8
9
<?php
for($i = 0; $i < count($musicos); $i++) {
    echo $musicos[$i] . "{<br>";
    foreach($musicos[$i]['Cantidad'] as $cant => $valor) {
        echo $cant . " : " . $valor . "<br>";
    }
    echo "}<br>";
}
?>

Buscaba llegar directo a la variable $cant y que me de su valor listado directo. No lograba salir de aquí, muchos errores. Luego pensé que con .Sum($valor), ya tendría el total. Pero no sabía como hacerlo, y no encontré ejemplos en la web.

Muchas gracias! Me has ayudado muchísimo!
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