Snygg felsökning i PHP med print_r

Ett litet tips hur du gör enkel felsökning i PHP med print_r(). Det är troligen en av de vanligaste felsökningsmetoder jag använder i PHP, för att till exempel se om en array skickas rätt. print_r() skriver ut innehållet i en array, så här beskrivs funktionen i online-manualen:

Prints human-readable information about a variable

Men inte nog med det, print_r kan returnera värdet till en variabel istället, och den kan dessutom skriva ut din array välformaterat. Genom att sätta <pre> framför och </pre> blir det lite lättare att läsa!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// En array skapas på något sätt
// här gör jag det manuellt för att testa
$minarray = array(
         'banan' => 'gul',
         'blåbär' => 'blå',
         'äpple' => 'rött'
    );
 
// Någonstans i ditt skript, där du behöver se att 
// variabeln innhåller rätt information
$check = '<pre>' . print_r($minarray, true) . '</pre>';
 
// Senare...
echo $check;
?>

Resultatet, snyggt (nåja) och läsbart :)

Felsökning i PHP

Genom att lägga informationen i en variabel går den hantera i en miljö där funktion och layout är uppdelad (som t.ex. MVC).

Tips om dina metoder för felsökning i PHP

Om du har metoder att felsöka i PHP, tveka inte att tips PHPkurs.se, skicka ett mail till mattias@kurswebben.se eller skriv en kommentar till det här inlägget! :)

2 Responses to “Snygg felsökning i PHP med print_r”

  1. Bobo Wieland

    Kan vara bra att fortsätta ditt lilla exempel med att wrappa ” . print_r($minarray, true) . ” i en funktion så den kan återanvändas. :)

    Sen när det ändå handlar om felsökning; Ser en liten risk med ditt skript som potentiellt skulle vara svår att felsöka. Om du inkluderar din php-fil i en anna med include eller require och du råkar ha ett white-space efter avslutande ?> i skriptet så blir det fel. Nu använder du väl Sublime som man kan ställa in till att strippa white-spaces, men good practise är ändå att alltid strunta i avslutande ?> i phpskript. Finns enbart vinster med att göra så.

  2. Mattias

    Absolut, men jag brukar göra exempel i kursen fristående om det går :)

    Men att återanvända är alltid av godo, vare sig det gäller PHP eller Photoshop, allt man kan spara tid men ändå få snyggt ;)

Lämna en kommentar

  • (will not be published)

XHTML: Du kan använda dessa taggar: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>