1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.12 $ -->
<!-- splitted from ./en/functions/var.xml, last change in rev 1.5 -->
<refentry id="function.print-r">
<refnamediv>
<refname>print_r</refname>
<refpurpose>
Prints human-readable information about a variable
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>print_r</methodname>
<methodparam><type>mixed</type><parameter>expression</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>return</parameter></methodparam>
</methodsynopsis>
<note>
<simpara>
The <parameter>return</parameter> parameter was added in PHP 4.3.0
</simpara>
</note>
<simpara>
<function>print_r</function> displays information about a variable
in a way that's readable by humans. If given a <type>string</type>,
<type>integer</type> or <type>float</type>, the value itself will be
printed. If given an <type>array</type>,
values will be presented in a format that shows keys and
elements. Similar notation is used for <type>object</type>s.
<function>print_r</function>, <function>var_dump</function> and
<function>var_export</function> will
also show protected and private properties of objects with PHP 5.
</simpara>
<simpara>
Remember that <function>print_r</function> will move the array
pointer to the end. Use <function>reset</function> to bring
it back to beginning.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<pre>
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
</pre>
]]>
</screen>
</informalexample>
</para>
<para>
If you would like to capture the output of <function>print_r</function>,
use the <parameter>return</parameter> parameter. If this parameter is set
to &true;, <function>print_r</function> will return its output, instead of
printing it (which it does by default).
</para>
¬e.uses-ob;
<para>
<example>
<title><parameter>return</parameter> parameter example</title>
<programlisting role="php">
<![CDATA[
<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); //$results now contains output from print_r
?>
]]>
</programlisting>
</example>
</para>
<note>
<simpara>
If you need to capture the output of <function>print_r</function> with a
version of PHP prior to 4.3.0, use the <link linkend="ref.outcontrol">
output-control functions</link>.
</simpara>
</note>
<note>
<simpara>
Prior to PHP 4.0.4, <function>print_r</function> will continue forever
if given an <type>array</type> or <type>object</type> that
contains a direct or indirect reference to itself. An example
is <literal>print_r($GLOBALS)</literal> because
<literal>$GLOBALS</literal> is itself a global variable that
contains a reference to itself.
</simpara>
</note>
<simpara>
See also <function>ob_start</function>,
<function>var_dump</function> and
<function>var_export</function>.
</simpara>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|