Pregunta

¿Cómo formo una declaración if/else para una función de PHP no? Quiero que definen una forma $results si funciona y otro si no lo hace. No quiero simplemente para mostrar un error o matar el mensaje de error si falla.

Actualmente, tengo:

if(file_get_contents("http://www.address.com")){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results
¿Fue útil?

Solución

if(@file_get_contents("http://www.address.com");){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results

Por anteponiendo un @ a una función, se puede surpress su mensaje de error.

Otros consejos

try / funciones de captura .

es algo como:

try {
    // your functions
}
catch (Exception e){
    //fail gracefully
}

Como se ha dicho contagiosa, una función try / catch funciona bien si la función lanza una excepción. Sin embargo, creo que lo que busca es una buena manera de manejar el resultado de una función devuelve el resultado esperado, y no necesariamente si se produce una excepción. No creo que file_get_contents se producirá una excepción, sino más bien simplemente volver falsa.

Su código que funciona bien, pero me di cuenta un extra; en la primera línea de la sentencia if.

if (file_get_contents("http://www.address.com")) {
    $results = "it worked";
} else {
    $results = "it didnt";
}
return $results;

Además, puede almacenar el resultado de una llamada de función en una variable para que pueda usarlo más tarde.

$result = file_get_contents("http://www.address.com");
if ($result) {
    // parse your results using $result
} else {
    // the url content could not be fetched, fail gracefully
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top