PHP - Pregunta PHP

 
Vista:

Pregunta PHP

Publicado por Carlos (4 intervenciones) el 01/06/2020 03:39:51
Agluien sabe resolver esta duda de php que tengo:

Obten el numero de valores iguales al valor 2 contenidos en un array de 10 valores generados aleatoriamente con valores de 1 a 10

Deberán aparecer los 10
números en una línea vertical independiente y al final decir cuántas veces ha aparecido el numero
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 javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por javier (547 intervenciones) el 01/06/2020 08:07:07
hola, no es nada dificil, que tienes hecho hasta el momento, por que no es una duda, es un ejercicio.

saludos
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

Pregunta PHP

Publicado por Carlos (4 intervenciones) el 02/06/2020 03:35:01
hasta ahí tengo hecho

1
2
3
4
5
6
7
<?php
for ($i=0; $i<10; $i++){
   $numero[$i]=rand (1,10);
   echo $numero[$i]."<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 javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por javier (547 intervenciones) el 02/06/2020 06:48:40
hola, esta seria una manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
 
$cuantosDoses = 0;
    for ($i=0; $i<10; $i++){
 
        $numero[$i]=rand (1,10);
 
        if($numero[$i] === 2){
            $cuantosDoses ++;
        }
 
        echo $numero[$i]."<br>";
    }
 
echo "numero de veces que aparece el 2 es: $cuantosDoses";

saludos
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

Pregunta PHP

Publicado por Carlos (4 intervenciones) el 02/06/2020 14:07:37
Muchas gracias, ya me hago una idea.
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: 39
Ha disminuido su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por ernesto (12 intervenciones) el 02/06/2020 15:13:21
Una idea? Si te ha resuelto completamente el problema
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

Pregunta PHP

Publicado por Carlos (4 intervenciones) el 02/06/2020 15:59:01
Si ya esta resuelta la duda.

RESULTADO FINAL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
for ($i=0; $i<10; $i++){
   $numero[$i]=rand (1,10);
   echo $numero[$i]."<br>";
}
 
$cuenta=0;
 
foreach ($numero as $num){
  if ($num=="2"){
     $cuenta++;
   }
}
 
$totales=array_count_values($numero);
echo "Tienes ".$totales[2]." con valor \"2\"";
 
?>
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: 29
Ha disminuido su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por Sergio (9 intervenciones) el 02/06/2020 16:16:59
Excelente.....Mi Amigoooo Poco a poco es logica y practica constante..!
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por Julio (830 intervenciones) el 02/06/2020 17:15:07
Hola.

Me incluyo por aquí para comentarte un par de cositas. ¿Para qué sirve esto?

1
2
3
4
5
6
$cuenta=0;
foreach ($numero as $num){
    if ($num=="2"){
        $cuenta++;
    }
}

Quiero decir, estás recorriendo el array para obtener la cuenta, que guardas en $cuenta, pero luego no la utilizas nunca porque utilizas la función array_count_values. O sea, o te sobra este código que te he puesto (que no estás utilizando para nada), o te sobra contar los valores con array_count_values.

Otro detalle más aquí. La función rand devuelve un int, por tanto ese if ($num=="2") no necesita las comillas, te sirve con if($num==2). ¿Por qué te funciona? Porque como no es una igualdad estricta (estás utilizando == y no ===), el número 2 lo considera igual al string "2", pero no necesitas hacerlo así. Compáralo con el 2 simplemente.

Por último, puedes mejorar el rendimiento haciendo la cuenta del nº 2 en el primer foreach y así no necesitas ni recorrer el array de nuevo (lo que haces con $cuenta) ni utilizar array_count_values que internamente recorrerá el array de nuevo. Es decir, te vale sólo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$cuenta = 0;
for ($i=0; $i<10; $i++){
    $numero[$i]=rand (1,10);
    echo $numero[$i]."<br>";
 
    if ($numero[$i]==2){
        $cuenta++;
    }
}
 
echo 'Tienes '.$cuenta.' con valor "2"';
?>

O sea, en una pasada del foreach generas el número aleatorio, lo imprimes y, si $numero[$i] es igual a 2, entonces incrementas la cuenta. Así ya tienes la cuenta sólo iterando una vez el bucle. Mucho más eficiente y no necesitas hacer más iteraciones.

Simplemente por ayudarte a ver que puedes juntarlo todo en una iteración además de que vieras que contabas dos veces cuántos doses había.

P.D.: También te he cambiado el echo, poniendo comillas simples y así puedes imprimir las comillas dobles sin necesidad de la barra de escape.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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
Imágen de perfil de javier
Val: 1.542
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por javier (547 intervenciones) el 02/06/2020 19:57:08
Si, si, yo tambien vuelvo a entrar, el mismo codigo que le puse Julio, pero ya se hizo una idea........

saludos
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 Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Pregunta PHP

Publicado por Julio (830 intervenciones) el 02/06/2020 20:27:35
Jaja, no me había dado cuenta de que son clavados.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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