AYUDA EJERCICIOS FUNCIONES PHP

Iniciado por dlm91, 10 Noviembre 2012, 20:55 PM

0 Miembros y 1 Visitante están viendo este tema.

dlm91

Código (php) [Seleccionar]
Función lógica que reciba un carácter y determine si éste es un dígito entre '0' a '9'.

Tengo que hacer la función he echo un código tengo que ponerlo bien ¿como lo arreglo?
Código (php) [Seleccionar]
</html>

<html><body>
<?php
echo "<form action='funciones.php' method='post'>
<h1>Numero entre 0 y 9</h1>
<hr>
escriba numero: <input type='text' name='num' value=' '><input type='submit' name='number' value='Ver'></form>"
;
function 
es_numerico($number) {
if(
is_int($number) && ($number >= || $number <= 9)){
echo
'El valor '.$number.' es un número que está entre 0 y 9).';
else
echo
'El valor '.$number.' no cumple con los requisitos';
}

?>

</body>
</html>


los demás ejercicios son:

2-Función lógica que reciba un carácter y retorne si éste es una vocal.
3-Función que reciba como parámetro una cadena y un carácter. La función devolverá la posición de la primera ocurrencia del carácter en la cadena y -1 en caso de error.
4-Función que reciba como parámetro una cadena y un carácter. La función devolverá el número de ocurrencias de dicho carácter en la cadena y -1 en caso de error.
5-Función que reciba un vector de números y devuelva (en variables pasadas por referencia) su media, mediana, moda y varianza.

‭lipman

Aquí no se resuelven ejercicios, solo dudas.

Con respecto a tu código, ponlo usando GeSHi para que se vea mejor en el foro.
No lo he probado, pero cuando uses ifs con varios parámetros a comprobar, usar paréntesis.

Prueba:

Código (php-brief) [Seleccionar]
if(is_int($number) && ($number >= 0 || $number <= 9))

dlm91

ok gracias pero...¿ como se hace eso con una funcion?

‭lipman

Te recomendaria que aprendieses algo más sobre HTML y PHP, porque si no, no vas a entender lo poco que hagas.

En tu caso, en el action del form, indicas que los datos se van a enviar por el método POST a funciones.php

En esa página es donde recoges el valor del número que has enviado mediante $_POST['num']

Finalmente, desde ahí lanzas la función que has creado pasándole como parámetro ese número.

Si lo que quieres es hacerlo todo en la misma página, aunque podrías hacerlo también con PHP creo que lo normal sería hacerlo con javascript.

Un saludo.

dlm91

Perdona lo del formulario no es necesario solo con recibir un parámetro en el mismo documento ya vale
las dos primeras funciones las hice así:

Código (php) [Seleccionar]
    //Función lógica que reciba un carácter y determine si éste es un dígito entre '0' a '9'.
    function digito ($num) {
        if ($num < 0 || $num > 9) {
            echo "El número introducido no es un número entre 0 y 9";
        }
        else
            echo "El número introducido es un número entre 0 y 9";
    }

    //Función lógica que reciba un carácter y retorne si éste es una vocal.
    function vocal ($voc) {
        if (strlen($voc) == 1) {
            if ($voc == a || $voc == e || $voc == i || $voc == o || $voc == u) {
                echo "El carácter introducido es una vocal";
            }
            else
                echo "El carácter introducido no es una vocal";
        }
        else
            echo "No se ha introducido solo un carácter";
    }


Lo ves Bien¿? y muchas gracias por todo

‭lipman

En la primera función, mete también la otra condición, por si acaso:

Código (php-brief) [Seleccionar]
if(is_int($number) && ($number >= 0 || $number <= 9))

Así te aseguras que es integer.

Con respecto a la segunda función, te animo a que la reescribas con una función llamada in_array. De esta manera, metes las vocales en un array, y lo recorres para saber si lo que has recogido es correcto o no.

Qué ventaja tiene esto? escalabilidad: si en un futuro quisieras añadir más letras u otras cosas, es más fácil y no tendrias que estar metiendo condicionales en el or.

Un saludo.