Comunidad de diseño web y desarrollo en internet online

Cómo depurar funciones en PHP

Cuando uno esta por empezar a estudiar un lenguaje de programación, una de las cosas que primero se deben de aprender es como hacer un debug. Pues en este tip mostrare una manera sencilla que nos ayudara a detectar los errores que hayan en los códigos que hagamos o que estemos revisando.

En php, las funciones print_r y var_dump son perfectas funciones para el debug:

  • print_r: es una función que imprime el contenido de una matriz u objeto.
  • var_dump: es una función que te imprime el valor y el tipo de dato que tiene una variable.
Muestro a continuación una pequeña demostración del código aplicado:

Código :

<?php
   $arreglo[] = 1;
   $arreglo[] = 2;
   print_r($arreglo);

   var_dump($arreglo);
?>

# SALIDA
/* Array
(
   [0] => 1
   [1] => 2
)
array(2) {
   [0]=>
   int(1)
   [1]=>
   int(2)
} */


Explicación

print_r y var_dump imprimen directamente a la salida estándar (html es el tipo de contenido por defecto de la salida estándar en php), a menos que se especifique en el segundo argumento que lo retorne. En cualquier caso, cuando se imprima será como texto y visualizarlo de esa manera en html es tedioso por lo que se recomienda el uso de etiquetas pre (ejemplo mas abajo) o que se modifique el tipo de contenido a texto.

  1. Usando las etiquetas pre de html:

    Código :

    <?php
    echo "<pre>";
    print_r($miArreglo);
    echo "</pre>";
    ?> 
  2. Modificando el tipo de contenido:

    Código :

    <?php
    header("Content-type: type/text");
    print_r($miArreglo);
    ?> 
    • Advertencia: el ejemplo anterior hace que el navegador interprete el contenido de la página como texto y no como html.


Información Adicional: print_r y var_dump.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate