<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.iconv-strpos" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>iconv_strpos</refname>
  <refpurpose>Finds position of first occurrence of a needle within a haystack</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type class="union"><type>int</type><type>false</type></type><methodname>iconv_strpos</methodname>
   <methodparam><type>string</type><parameter>haystack</parameter></methodparam>
   <methodparam><type>string</type><parameter>needle</parameter></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>0</initializer></methodparam>
   <methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>encoding</parameter><initializer>&null;</initializer></methodparam>
  </methodsynopsis>
  <para>
   Finds position of first occurrence of a <parameter>needle</parameter>
   within a <parameter>haystack</parameter>.
  </para>
  <para>
   In contrast to <function>strpos</function>, the return value of
   <function>iconv_strpos</function> is the number of characters that
   appear before the needle, rather than the offset in bytes to the
   position where the needle has been found. The characters are counted
   on the basis of the specified character set <parameter>encoding</parameter>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>haystack</parameter></term>
     <listitem>
      <para>
       The entire string.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>needle</parameter></term>
     <listitem>
      <para>
       The searched substring.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>offset</parameter></term>
     <listitem>
      <para>
       The optional <parameter>offset</parameter> parameter specifies
       the position from which the search should be performed.
       If the offset is negative, it is counted from the end of the string.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>encoding</parameter></term>
     <listitem>
      <para>
       If <parameter>encoding</parameter> parameter is omitted or &null;,
       <parameter>string</parameter> are assumed to be encoded in
       <link linkend="iconv.configuration">iconv.internal_encoding</link>.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
  <para>
   If <parameter>haystack</parameter> or <parameter>needle</parameter> is
   not a string, it is converted to a string and applied as the ordinal
   value of a character.
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns the numeric position of the first occurrence of
   <parameter>needle</parameter> in <parameter>haystack</parameter>.
  </para>
  <para>
   If <parameter>needle</parameter> is not found,
   <function>iconv_strpos</function> will return &false;.
  </para>
  &return.falseproblem;
 </refsect1>

 <refsect1 role="changelog">
  &reftitle.changelog;
  <informaltable>
   <tgroup cols="2">
    <thead>
     <row>
      <entry>&Version;</entry>
      <entry>&Description;</entry>
     </row>
    </thead>
    <tbody>
     <row>
      <entry>8.0.0</entry>
      <entry>
       <parameter>encoding</parameter> is nullable now.
      </entry>
     </row>
     <row>
      <entry>7.1.0</entry>
      <entry>
       Support for negative <parameter>offset</parameter>s has been added.
      </entry>
     </row>
    </tbody>
   </tgroup>
  </informaltable>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>strpos</function></member>
    <member><function>iconv_strrpos</function></member>
    <member><function>mb_strpos</function></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
-->
