<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.print"> <refnamediv> <refname>print</refname> <refpurpose>Output a string</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>int</type><methodname>print</methodname> <methodparam><type>string</type><parameter>arg</parameter></methodparam> </methodsynopsis> <para> Outputs <parameter>arg</parameter>. </para> <para> <literal>print</literal> is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list. </para> <para> The major differences to <literal>echo</literal> are that <literal>print</literal> only accepts a single argument and always returns 1. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>arg</parameter></term> <listitem> <para> The input data. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> Returns <literal>1</literal>, always. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title><literal>print</literal> examples</title> <programlisting role="php"> <![CDATA[ <?php print("Hello World"); print "print() also works without parentheses."; print "This spans multiple lines. The newlines will be output as well"; print "This spans\nmultiple lines. The newlines will be\noutput as well."; print "escaping characters is done \"Like this\"."; // You can use variables inside a print statement $foo = "foobar"; $bar = "barbaz"; print "foo is $foo"; // foo is foobar // You can also use arrays $bar = array("value" => "foo"); print "this is {$bar['value']} !"; // this is foo ! // Using single quotes will print the variable name, not the value print 'foo is $foo'; // foo is $foo // If you are not using any other characters, you can just print variables print $foo; // foobar print <<<END This uses the "here document" syntax to output multiple lines with $variable interpolation. Note that the here document terminator must appear on a line with just a semicolon no extra whitespace! END; ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; ¬e.language-construct; </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>echo</function></member> <member><function>printf</function></member> <member><function>flush</function></member> <member><link linkend="language.types.string.syntax.heredoc">Heredoc syntax</link></member> </simplelist> </para> </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:"~/.phpdoc/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 -->