print_r

(PHP 4, PHP 5, PHP 7)

print_rAffiche des informations lisibles pour une variable

Description

mixed print_r ( mixed $expression [, bool $return = false ] )

print_r() affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible.

print_r(), var_dump() et var_export() afficheront également les propriétés protégées et privées d'un objet en PHP 5. Les membres des classes statiques ne seront pas affichés.

Liste de paramètres

expression

L'expression à afficher.

return

Si vous voulez obtenir le résultat de print_r() dans une chaîne, utilisez le paramètre return. Lorsque ce paramètre vaut TRUE, print_r() retournera l'information plutôt que de l'afficher.

Valeurs de retour

Si une chaîne de caractères, un entier ou un nombre décimal est fournie, sa valeur sera affichée. Si un tableau est fourni, les valeurs seront affichées dans un format permettant de voir les clés et les éléments. Un format similaire sera également utilisé pour les objets.

Lorsque le paramètre return vaut TRUE, cette fonction retournera une chaîne de caractères. Autrement, la valeur de retour sera TRUE.

Notes

Note:

Lorsque le paramètre return est utilisé, cette fonction utilise en interne le buffer de sortie, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

Exemples

Exemple #1 Exemple avec print_r()

<pre>
<?php
$a 
= array ('a' => 'apple''b' => 'banana''c' => array ('x''y''z'));
print_r ($a);
?>
</pre>

L'exemple ci-dessus va afficher :

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Exemple #2 Exemple avec le paramètre return

<?php
$b 
= array ('m' => 'monkey''foo' => 'bar''x' => array ('x''y''z'));
$results print_r($btrue); // $results contient l'affichage de print_r
?>

Voir aussi

  • ob_start() - Enclenche la temporisation de sortie
  • var_dump() - Affiche les informations d'une variable
  • var_export() - Retourne le code PHP utilisé pour générer une variable

add a note add a note

User Contributed Notes 35 notes

up
64
liamtoh6 at hotmail dot com
7 years ago
I add this function to the global scope on just about every project I do, it makes reading the output of print_r() in a browser infinitely easier.

<?php
function print_r2($val){
        echo
'<pre>';
       
print_r($val);
        echo 
'</pre>';
}
?>

It also makes sense in some cases to add an if statement to only display the output in certain scenarios, such as:

if(debug==true)
if($_SERVER['REMOTE_ADDR'] == '127.0.0.1')
up
11
Matt
8 years ago
Here is another version that parses the print_r() output. I tried the one posted, but I had difficulties with it. I believe it has a problem with nested arrays. This handles nested arrays without issue as far as I can tell.

<?php
function print_r_reverse($in) {
   
$lines = explode("\n", trim($in));
    if (
trim($lines[0]) != 'Array') {
       
// bottomed out to something that isn't an array
       
return $in;
    } else {
       
// this is an array, lets parse it
       
if (preg_match("/(\s{5,})\(/", $lines[1], $match)) {
           
// this is a tested array/recursive call to this function
            // take a set of spaces off the beginning
           
$spaces = $match[1];
           
$spaces_length = strlen($spaces);
           
$lines_total = count($lines);
            for (
$i = 0; $i < $lines_total; $i++) {
                if (
substr($lines[$i], 0, $spaces_length) == $spaces) {
                   
$lines[$i] = substr($lines[$i], $spaces_length);
                }
            }
        }
       
array_shift($lines); // Array
       
array_shift($lines); // (
       
array_pop($lines); // )
       
$in = implode("\n", $lines);
       
// make sure we only match stuff with 4 preceding spaceslt">0;="ke &nbs">arr e annoort s nesteone/ )
       
preg_mat_ cach(^/(\4}\[(.+?)\] \=\ =>/m\n", $in$matines);
       
">arr(">);
       
Previo_="kin =         $es_length = strlen($in);
       
/storeff thfollowedin>$i"rop:);
       ">/">arr f wit="ki=t="kiooff ths parted arr'snu it);
       ">/rnval ">">arr(b_stane piection$i"in, $e and piection$i"in/ )
       
($matinp; $match            = $match[1[0];
           
_stann = $match[0[1= strlen($match[0[0>];
           
[] ">arr(; _stan", $es_length);
            if (
Previo_="kin ; [Previo_="k>0[1= $match[0[1= 1Previo_="kin = $ron ">arr(">);
       "oreaatc">(
/y/recursionlseep; if ths parted ournval s is an arr too];
           
$res[] ; print_r_reverse(substr($in[0], [1= [0));
        }
       ">return
$res;
   >;
;
?>>
up
311
8 years ago
Here ishe printon thatntrodes xmlas:

<?php
(print_xmltr(function print_xmltr(true= ; = <xmler versi=\"1.0\" e Encodi=\"UTF-8\"">?&g\n">&l"cda>?&g\n\n"($val    if ((; = p; /">&l0re inoortllowed{
   
(($val     e ca>= = &l\n"(print_xmltr($val'<\n"(?&g\n\n");
     e ca>=
boean\n"= &l\n"(($valtr\n"'<\n"(?&g\n\n");
     e ca>=
= &l\n"(($val'<\n"(?&g\n\n");
     e ca>=
= &l\n"(($val'<\n"(?&g\n\n");
     e ca>=
= &l\n"(($val'<\n"(?&g\n\n");
     ="defau:}
       
= &l\n"(($val         n '<\n"(?&g\n\n");
   });
 });
  if (
; = &l/"cda>?&g\n\n"return ?>>
up
11
endiil doiatt
8 years ago

<?php
function print_r(>){
    if!],
((>){
       
var_dunt(< 0>){
        echo
((.ho ; >0>){
            echo
[print_r(>01?>>
up
311
8 years ago
ounied thhacky nat surt of printein ">returm cod(usirone outpue buffiron="ke &e ">returm cods teywk This ckyis.):r.

<?php
 * Ang' auseatrsivs te printon thaun% like urtriginaail e inoor="une outpue buffironf wi);
 * &e ">retur="paramet a sel torueys. us, Fatotaerrorson thawd ld be &e ">resurt of print);
 * in ">retu-m codf wiin obis handrsoI cabple oided.=
 *);
 * Comties witacaextrar="paramet l tbpleblivs t="ger"da ="htle co. If you nerted);
 * hu"/mes reeblivDHTML-baartee printo' auseatrsi,lseep retur="paramet e=functiality);
 * added by Fredrik Wollsén (fredrik l domot) inangotma),vs t/ makitteywk has drop-in);
 * replacatemen="kee printo(Exceptn="ke &thaI this functiol e inoore outpun;
 * ="pan &esiarse">ounieelatemeng>ouphis. ;) )a
 *);
 * Baarteon ">retu_">arr(" By m>Mahew Ruivo (mruivo nangotma));
 * (
 */hp
function print_r(astrreturn ], 0>){
   ,
= = $liln = &l;
$i = 1&l">= ho 1++)}
       
= = $i = 1&l">= 11++)}
       
= (= (= (= $liln $lies($vtrue((>){
           =
1= print_r(avtrue, true, = = $liesretuuereturn ?>

8 years ago
var_du() nor ">vaexexpo() s t="taf stichmember ">vieblices >
<?php
fleunction
newho (print_r(fleunctiue?>)
8 years ago
reture urt obcuar athine prinneat_n claesnteisaf thf functio &thashd ld be e cart!>;
<?php
(retun        ">return print_r(print_r(retun function print_r(retun        iff (((           ">return (           "oreaat">(       />        [] ; print_r(retun return return ?>>
up
211
8 years ago
arrs beautifutal./>
<?php
Debug ">vieblic, $i ha $ks">ee="key/recursia="uhp
function ($utpn"= = arr(; ($utpn"nutpun $vtrue= = 1(avtrue, ifinoort arrn{
       
[$k]n{
       
$vtrue[$vtrue= &l;< =&g\n"e outpspp
[] ; [1?>)
up
411
8 years ago
8 years ago

<?php
function = ){
       
">arr("));
       "oreaat">(
$vtrue(           />   >){
           />   />       
(avtrue, = ], 1           />   >){
           />   />       
[] ; avtrue(">arr(ay'efixn_r($vtrueefixn_r= = $vtrueefixn_r?>>
up
211
8 years ago
returspaA arr orrBoolespa:r.

<?php
function = >){
   ">prir(],
= ));
    if>=
>){
       ">prir(],
&l">e>?&g'n_r);
       n
) ){
       ">prir(],
&l/">e>?&g'n_r);
   } } el>>){
       ,
var_duin"));
   }>;
}
?>

up
11
monthars ago
Maa"oremakedinf thtriginaa.r.

<?php
function ($lices = (imnt(imnt($licnt[= (imnt($licnt[= >){
/bottomrteo o s ts sowiing4that isn'puspat arr orrt obcuan;
   ,
return /I thiisuspat arr orrt obcu, lets ="psakitt>;
">arr("));
    ifn
($licnt[1], >){
/I thiisus nottat t arr/y/recursiactllkeonI this functio){
/I maka a seof s$spaceofoff thbeginning4){
     ,
= [1);
     ,
= ($lic_tototan = ($licnt$i = ho &lp, $lic_totot$i++)}
        ifn
($licnt[], ], = >){
         >(
$licnt[] ; ($licnt[], = imnt($licnt[)=">= ;
($licnt/A arr >;
($licnt/( >;
($licnt/)t>;
; ($licnt">arr("));
/m maks surwe only matcitstufofs wit4 n.eceding4s$spac (stufof="ke &nbat arr ha noort nottat one)t>;
(?&g /m\n"">arr("));
evious_="kes = ;
= (/storotf thfollowediniio"poc:o){
/t arr s wit="ke=t="keooff th="psat t arr'akitemo){
/vavtru">">arr(startne pinctioin "iu, $eha e pinctioin "iu)t>;
>){
     
= [1[);
     ,
= [[1([[>);
     ,
[] ">arr(; evious_="kes = >){
       ,
[evious_="k$i[1= [[1= 1evious_="kes = ">arr("));
>){
/y/recursily sel>ifff th="psat o o vavtruisuspat arr too4){
     ,
[] ; (([], [1= [>>);
   }>;
return
?>>
up
011
monthars ago
$lisoin HTML filea. Hea="ude">&l">e>?&gf="keio s teywk, buen &thamight noorbplelwrrs f thbeshamethod s tgo. F"keexr&ale,eio is noorvavid s tplaca ">&l">e>?&gfinsida ">&l">?&gir.

Here imy wrr tote e &nb:r.

<?php
function retues = ){
 >(
= ((print_r(trueretun return ?>


&l;< =&g whero new>$libat e,/>
up
011
monthars ago

<?php
arr(; &lsome>?&g="ht"><ags =&g\n"(print_r(/Invavid e outp,pHTML breaks./>
(print_r(true/Wywks aniedoesn'pubreakrf the outp./>
?>>
up
011
monthars ago
Maa o r_revsthf printe-iit hadtproblomces witnullkvavtrs. C>ethat thGISTf="ke &at too4s tpleasthadt tnyne=t surfixusoin thero insteadeooff thi="comme s/rncti:r.

<?php
 * m>Ma:i="re);
 * Trixor:rt obcuas hantri);
 * l; e: Win">ds suppport);
 * simivas:tnullksupport);
 *);
 * @sel>/ function
($lices = (], imnt(imnt($licnt= (imnt($licnt= >){
           ,
/bottomrteo o s ts sowiing4that isn'puspat arr orrt obcu){
           ,
nutpun = >){
               ">return
);
 /> /> /> /> /> }){
       />   ){
       />   ">return
/I thiisuspat arr orrt obcu, lets ="psakit){
           ,
">arr("));
        if (
($licnt= >){
               ,
/I thiisus nottat t arr/y/recursiactllkeonI this functi){
               ">/I maka a seof s$spaceofoff thbeginning){
               ,
= = = ($lic_tototan = ($licnt$i = ho &lp, $lic_totot$i++)}
           />        if (
($licnt], ], = >){
               />       ,
$licnt] ; ($licnt], = imnt($licnt($licnt/A aay>;
   )
($licnt/(>;
   )
($licnt/)){
       />   )
($licnt">arr("));
/m maks surwe only matcitstufofs wit4 n.eceding4s$spac (stufof="ke &nbat arr ha noort nottat one));
       />   )
(?&g /m\n"">arr("));
   )
evious_="kes = ;
   )
= (/storotf thfollowediniio"poc:);
/t arr s wit="ke=t="keooff th="psat t arr'akitem);
/vavtru">">arr(startne pinctioin "iu, $eha e pinctioin "iu)){
           ,
>){
           />   )
= =        />       , = = (=        />       , ] ">arr(; evious_="kes = >){
           />       ,
evious_="kes = = = 1evious_="kes = 1">arr("));
>){
       />   /> /> )
/y/recursily sel>ifff th="psat o o vavtruisuspat arr too){
       />   /> /> )
] ) ((], );
           }){
       />   ){
       />   ">return
?>>
monthars ago
Ma'arswes sone print_r_revsthf functio(Ts hk You, a life-sarev ->="da/y/rorevy :-) . Ifrf the outp thi="piudesrom a Win">ds system,rf theha ofh>$lisomrr includotf th">returch"pactev "\hor ha s tohunscalar (ststri) elatemesaw llkincludota traintri "\horch"pactev that isn'pusuppo"unIorbplthero. To r_solve, r_placa f thfirsth>$lioin theis functiow this.a.

<?p ">$lices = (], imnt(>p; ?>

ds).a.

Ma,nf thtriginaa autnch, Ts hk You.r.

<?php
Autnch: m>Maa(/ function (>){
   >(
$lices = (], imnt(>){
    if (
imnt($licnt= >){
       )
/bottomrteo o s ts sowiing4that isn'puspat arr){
       )
return /I thiisuspat arr, lets ="psakit){
       ue
($licnt1>){
           )
/I thiisus nottat t arr/y/recursiactllkeonI this functi){
           ">/I maka a seof s$spaceofoff thbeginning){
           
= [1);
           
= ($lic_tototan = ($licnt$i = ho &lp, $lic_totot$i++)}
           />    if (
($licnt], ], = >){
               />   ,
$licnt] ; ($licnt], ($licnt/A aay>;
($licnt/(>;
($licnt/)){
       n
= ($licnt/m maks surwe only matcitstufofs wit4 n.eceding4s$spac (stufof="ke &nbat arr ha noort nottat one));
        (
(?&g /m\n"">arr("));
evious_="kes = ;
= (/storotf thfollowediniio"poc:);
/t arr s wit="ke=t="keooff th="psat t arr'akitem);
/vavtru">">arr(startne pinctioin "iu, $eha e pinctioin "iu)){
       ue
>){
           
= [1[);
           
= [[1([[>);
           ,
1] ">arr(; evious_="kes = , evious_="k$i[1= [[1= 1evious_="kes = 1">arr("));
>){
       />   )
/y/recursily sel>ifff th="psat o o vavtruisuspat arr too){
       />   ,
1] ((([], [1= [>>);
       }){
       ">return
?>>
ye"pshs ago

<?p >}
function (> );
    echo
&lscript>?&g\r\n//">&l![CDATA[\r\nif(!console){vaseconsole={log:">functi(){}}}\n"(print_r(true$liy'> );
        if (
imnt($liue$li;    ue($liue$liue?&g\r\n">&l/script>?&g\n"?>>
up
-111
monthars ago
functiovasExp($E,$vE)>){
   $vE.="=">arr(";$sep="">);
   "oreaator$E anp$veK " =>$veV">>){
       $vE.=$sep."'$veK'" =&g'$veV'";$sep=",">);
   }){
   $vE.=")g\>);
   ">retur$vE>);
}
up
011
ye"pshs ago
<?p>}
function do_s hanet_r){
   >(
([print_r(true(], do_s functi)t(do_s hanetxn"">arr("));
true] new n ?>

up
011
ye"pshs ago
">arrseof sub-s obcus, ia'areasr totg seorevwhelmrtes witeheelakgeiamounueof e outpis..s sowisostyou don'puwamenl tsel>absolutily _revy sub-s obcu.a.

<?php
function (arrOfO obcusToHicont1= print_r(true(arrOfO obcusToHicont>){
   );
arrOfO obcusToHico s >){
   );
= = &ls?&g---r&am=>HIDDEN -e"Hurnotkeoofwtf() -r&aml&g--->&l/s?&g)\n"= eg_r_placa)t(;/;
       }){
   }/;
/col"ke"Hdous obcus){
   >(
= eg_r_placa)t(], &ls?&g$1">&l/s?&g$2ay';/;
   ue
/col"ke"Hdous obcu f operties){
   >(
= eg_r_placa)t(pv"da|">-vocvot)\]#ay'&ls?&g$1">&l/s?&g:">&ls?&g$2">&l/s?&g]ay';/;
   u;
    echo
&l">eastyitl"font-sizo: ay'$li-height: ay'?&gay'&l/">e>?&gay'/exampleiusagi:>}
(arr(; ?>>
up
011
ye"pshs ago
arrs. It boldbat arr vavtrs. n>

<?p >}
function print arr)t= }
);
    if (
);
        echo
arr( ay'> n>

        echo
(>> );
       />   >(
print arr)t( );
       } );
        el>>;     );
       />    &nbs;   echo
&ls/stro>?>>&l/s/stro>?&g \n"">arrif (}
">arrif (}
">arrif (}
= (1}
(]">arrif (11}
print arr)t(}
?>>
up
011
ye"pshs ago
arriioreyuld st llkbth="psat byff thbrow"uss.r.



<?p/;
&l ?&gMy T"te">&l/ ?&g\n"&l">e>?&g\n"(print_r(true&l/">e>?&g\n"?>

&l">e>?&gA aay>;
;
r&am=&gMy T"te"r&aml&g/ r&am=&g>;
&l/">e>?&g>
up
011
ye"pshs ago
ds ">-vocvot ha prpv"da f opertieseof e obcuse ha detbcusey/recurtio(="kes obcuseonly!). Usagi:>}
]">arri$ignora]/)){

<?php
function (">arr()>]>(= 1">arr()) ){
){
    if (
retu>){
    if (
(>){
       "oreaator (
= >){
                echo
retu>){
   />       }){
   />   >(
(], ){
   />    echo
((t arr">, ((111>){
                echo
(;
   />    if (
1= >){
               />   ,
= (11= = -vocvot'es pv"daay' /> /> />     }p; el);
       /> /> /> />      echo
(11 /> /> /> }){
   />    echo
(1((>){
        echo
arrif \n\n"((111>){
                echo
((11 /> /> /> }){
   />    echo
(1?>

}
<?p>}
o >;
-vocvot ;
o >;
pv"da ;
o >;
-vocvot ;
">arr(o ], ], }
new n = = o /;
(arr(o ?>

-duce:>}
;
;
-vocvot]u" =>b>;
pv"da]u" =>c>;
arr:">-vocvot]u" =>A>arrif );
       [0] =-=>x);
       ["]u" =>y);
       [2]u" =>z);
   )){
   [y/recursiRef]u" =>*RECURSION*>;
;
   [y/recursiRef]u" =>*RECURSION*>;
;
up
011
ye"pshs ago
;
}
] new O obcuContainingHTML");/;
] ob_get_n ean");/;
up
011
ye"pshs ago
retus thei">arriaars readable ="stri rather thanen.priing4it. You canrevepanhoose whether top">returitoin normal ="te-mHdousroHTML. Ia'ary/recursi, sohmfaui-diommsial>">arrsea>easupporped. I hopets soone finds f is ="uful!>}
<?p>}
   n
function retu_t arr)t(arr>1= ], = ){
       o
= $li i = &l;
?&g\ts
= 1= (>){
           o
= = = 1= 1>){
           o
= o arr\ts $li i $lin"(arr$i (>){
               =
1= retu_t arr)t(], >>;
   />   n
= $lin"returo ?>
up
-211
ye"pshs ago
<?p>}
(&l">e>?&g%s">&l/">e>?&g\n"(true?>>
up
-111
ye"pshs ago
arrieleommes>}
$lishsftev t e firseef eg_match block );
<?p>}
       o
= ((], >], /">arrieleomme){
   />       ">/thei">arrieleomme is blank){
   />       o
1= 1= ?>>
up
-111
ye"pshs ago
arrs I havakwritten a littleis>functiowhich formatsuspat>arriquiVotnico apdpusls javascripte"or]brow"ing4it4% lika tree. T e s>functiois very customizable s wike e $styith="p"natev.r.
arr's,e"or]exampleiwhenke ose a>eausodoin langu;pa-fills in s so scripteapdpso ti. It mrrieveiobeausodoin "real" scriptse"or]e e "real" front-end, causeee e tree canrvery easilyobeastyitd (looknat t e s>functioor]e e e outptea sourcaeapdpyou'll seeiwhat ikmlan).r.

functi:>}
<?p>}
function prinr_="ht)1(a_ro 1= (&l (?&g\n\n"(a$i 1(1arr\>1&la ticlicks\"docuomme.getEleommeById('\n"\n"((((1&l/a>?&g->&l;
?&g\n\n"
&l
((prinr_="ht)1(1&l/ ?&g\n"1&lb>?&g\n"(1&l/b>?&gu" =>">&li>?&g\n"(1&l/i>?&g->&l;
?&g\n"
1&lb>?&g\n"(1&l/b>?&gu" =>">&li>?&g\n"(1&l/i>?&g->&l;
?&g\n"
1&lb>?&g\n"(1&l/b>?&gu" =>\n"tr\n"&l;
?&g\n\n"
        echo &lb>?&g\n"(1&l/b>?&gu" =>">&l>?&g\n"(1&l/>?&g->&l;
?&g\n"
        echo &lb>?&g\n"(1&l/b>?&gu" =>\n"(1&l;
?&g\n"
&l/ ?&g\n\n"?>

functioasritois now does notasupporpke e $">retur="p"natev ashf printedoes apdpw llkcreate ap endless loop4% likf printedidoin php-revsctist">&l 4.0.3iwhenke ere is ap eleomme which containars referenceotopa variable inaico of/thei">arrioohf pri4out :-/){

eanotaable oohsolve]e em 'causeeiedon'puknow howee e hellki canrfind4out whether a variable iars referenceoor]not.o
up
-111
ye"pshs ago
functi: />
<?p ,;
arr() ,;
arriapdp">retus ipubttweenk">&l">e>?&gioags ,;
retur="stri HTML ,;
function print arr)t((true((arri\(!Uims\n"arrif \n"((arri\(\W+\),!Uims\n"arrif ),\n"retu">(&l">e>?&g\n"(], ], (true&l/">e>?&g\n"?>>
up
-111
ye"pshs ago
functiowhich iars c"tabackoerom ob_start")oor]you getoe e following4error: />
up
-211
ye"pshs ago

<?p){
   "levet;  T e levetenumber toplimit recruursihloop.,;
retu;  ="stri;  Dumpea d"da.r.
   ="13-11-06,;
function prinr_levetue= ){
   statict;
= 1= 1">arr()s/}
   n{
   
=    n{
   
    &nbs;  s = (    &nbs;  s = (], = (], 1">arr(>(], arr'>1/Recruursin{
   
(/If type is s obcu, frrioohgetoproperties by Refleunctio>}
       o
o        {>;
    if (
(retuho /Cachthe e d"dan;
   )
= = ((       o (= ?>>       />   ,}
       />   ,
">arr()s/}
       />   ,}
       />   "oreaatif (
11(true; 1;>;
   />   ;
   />    if (
1-vocvotn >){
   />           {>;
   />   />   
= -vocvot\n"1pv"dan >){
   />           {>;
   />   />   
= 1pv"da\n"1>){
   />           {>;
   />   />   
= = 1(/If type is ">arr, justp">renp;a'arvottro>}
       o
o arr'>1; (= /Startadumping4="das>}
       o
= &l (1/Startarecruursihf pri>;
   )
= = 1/Increomme levet>;
   />   
= = (((/Decreomme levet>;
   />   
= = = /C espacachtu{
   
(= 1">arr()s/}
   }){
   n{
   ">returo
/Endis>functi){
/TEST ------------------------------------){
-vocvotro = 1pv"daro =    n{
   "ublict;
">arr(>(1111=    n{
   statict">-vocvotro
o ?>>= &l">e>?&g'ps prinr_levetue&l/">e>?&g'>1?>


   [a:">-vocvot]u" =>"aan{
   [b:nottC cla:">pv"da]u" =>bbbn{
   [c] " =>A>arr>}
       (n{
           [0] " =>1n{
           [1] " =>2n{
           [2] " =>A>arr>}
               *MAX LEVEL*){
           [3] " =>4,;
       )){
   [d:static] " =>ddd,;
   [e:">-vocvot:static] " =>eee,;
   [nottC cla] " =>,;
       *RECURSION*){
-211
ye"pshs ago
}
<?p>}
; /;fhyou want4oohappendie e prprintee outp of "some_t arrpto, lea'arsrr, log.txt:,;
], ?>>
up
-211
ye"pshs ago
<?p){
function prinr_reverse)t; /0=ernhing4ine &pticuloa, 1=t arrpopene &pene'(', 2=t arrpeleomme or]close &pene')'){
   o
= =    n(=    n(">arr()s/}
   n(
=    whill (!emptr(>(= ){
   {>}
       o
= arr_shife)t(= (o        {>;
    if (
; ){
   />       {>;
   />   
">arr()s/}
       />   />   o
; 1">arr.\n"; o        {>;
   )
; ; ], 1/t arrpeleomme>}
       o
1= 1(o            {>;
   />   
11">arr()s/}
       />   />   o
11111; 111>(; o /endicurrmme a>arr>}
       o
11/poppprio &pene a>arr>}
           o
/safe/t arrppop>;
   />   n
= arr_="ka)t(1= arr_pop>t(11(11/Added f is oohallowoeor]mfaui4% nep="stris./}
   n(
;    {>}
       o
/Expeuncng4close &pene or]eleomme, butagot justpap="stri);
       n(
11= ; ], returo returmixot[]h:p="pseable eleommeshof "e outpn>
function prinr_reverse_mfauiple>t(arr()s/}
   whill (">(
; prinr_reverse)t(;    {>}
       o
= returo ; {
   [b]u" =>bananan{
   [c] " =>A>arr>}
       (n{
           [0] " =>xn{
           [1] " =>r>}
           [2] " =>z,;
           [3] " =>A>arr>}
           (n{
               [neat] " =>reas;
               [neat2] " =>A>arr>}
               (n{
                   [neat] " =>some morl);
                   asffjaskkd,;
               >){
   />           [neat3] " =>o rly?){
   />       >){
   />   ),;
1
(prinr_reverse)t(?>


arr(3)p{>}
 ["a"]=>?>
 ="stri(5) ""pple">}
 ["b"]=>?>
 ="stri(6) "banana">}
 ["c"]=>?>
 ">arr(4)p{>}
   [0]=>?>
 /> ="stri(1) "x">}
   [1]=>?>
 /> ="stri(1) "y">}
   [2]=>?>
 /> ="stri(1) "z">}
   [3]=>?>
 /> ">arr(3)p{>}
 />   ["neat"]=>?>
 /> /> ="stri(3) "yes">}
     ["neat2"]=>?>
 /> /> ">arr(1)p{>}
 />     ["neat"]=>?>
 /> /> /> ="stri(40) "some morl);
                   asffjaskkd">}
     }){
   /> ["neat3"]=>?>
 /> /> ="stri(6) "o rly?">}
   }){
 }/}


2)){
){
   ">/Expeuncng4close &pene or]eleomme, butagot justpap="stri);
   "topA arr["k"k] .">"\n\."% ne>);
up
-211
ye"pshs ago
prinr(), justp% likvar_dump()ol es NOT castpan o obcu, ernkevenp; iit hashs __toS"stri() method -pwhich is normal.r.

<?p){
function }
 />     ">returo
   }/}
(
new o 1/Ipan cla A){
(
1/AeO obcu()){
/you canrsimul"dare e ; echby casting4it "/manuly){
(
1/Ipan cla A)
up
-411
ye"pshs ago
-vocvotrandp">pv"darpropertieshof o obcus (PHP 5).;  T is is notpapbugsp=ensitrsihinformanctio(ex.4="dabase conneunctioo obcu) shouldkbe;  encapsul"dad s wiiioap">pv"darmembert">functioofhyouran cla.>
mall>addoaperno> a; 1