<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.strval" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>strval</refname>
  <refpurpose>Get string value of a variable</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>string</type><methodname>strval</methodname>
   <methodparam><type>mixed</type><parameter>value</parameter></methodparam>
  </methodsynopsis>
  <simpara>
   Get the string value of a variable.
   See the documentation on <type>string</type> for more information
   on converting to string.
  </simpara>
  <simpara>
   This function performs no formatting on the returned value. If you
   are looking for a way to format a numeric value as a string, please
   see <function>sprintf</function> or <function>number_format</function>.
  </simpara>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>value</parameter></term>
     <listitem>
      <para>
       The variable that is being converted to a <type>string</type>.
      </para>
      <para>
       <parameter>value</parameter> may be any scalar type, <type>null</type>,
       or an <type>object</type> that implements the <link linkend="object.tostring">__toString()</link>
       method. You cannot use <function>strval</function> on arrays or on
       objects that do not implement the
       <link linkend="object.tostring">__toString()</link> method.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   The <type>string</type> value of <parameter>value</parameter>.
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>
     <function>strval</function> example using PHP magic
     <link linkend="object.tostring">__toString()</link> method.
    </title>
    <programlisting role="php">
<![CDATA[
<?php
class StrValTest
{
    public function __toString()
    {
        return __CLASS__;
    }
}

// Prints 'StrValTest'
echo strval(new StrValTest);
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>boolval</function></member>
    <member><function>floatval</function></member>
    <member><function>intval</function></member>
    <member><function>settype</function></member>
    <member><function>sprintf</function></member>
    <member><function>number_format</function></member>
    <member><link linkend="language.types.type-juggling">Type juggling</link></member>
    <member><link linkend="object.tostring">__toString()</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
-->
