<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.strpos.php',
    1 => 'strpos',
    2 => 'Sucht die Position des ersten Vorkommens des Suchstrings in einem String',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'String-Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.strpbrk.php',
    1 => 'strpbrk',
  ),
  'next' => 
  array (
    0 => 'function.strrchr.php',
    1 => 'strrchr',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/strings/functions/strpos.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.strpos" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">strpos</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">strpos</span> &mdash; <span class="dc-title">
   Sucht die Position des ersten Vorkommens des Suchstrings in einem String
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.strpos-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>strpos</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$haystack</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$needle</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$offset</code><span class="initializer"> = 0</span></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Gibt die numerische Position des ersten Vorkommens von
   <code class="parameter">needle</code> innerhalb der Zeichenkette
   <code class="parameter">haystack</code> zurück.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.strpos-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">haystack</code></dt>
     <dd>
      <p class="para">
       Die Zeichenkette, in der gesucht werden soll.
      </p>
     </dd>
    
    
     <dt><code class="parameter">needle</code></dt>
     <dd>
      <p class="para">
       Die Zeichenkette, nach der gesucht werden soll.
      </p>
      
 <p class="para">
  Wenn der Parameter <code class="parameter">needle</code> keine Zeichenkette ist,
  wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert
  eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet
  und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das
  Verhalten gewünscht, so sollte <code class="parameter">needle</code> explizit in
  eine Zeichenkette umgewandelt werden oder explizit die Funktion
  <span class="function"><a href="function.chr.php" class="function">chr()</a></span> aufgerufen werden.
 </p>

     </dd>
    
    
     <dt><code class="parameter">offset</code></dt>
     <dd>
      <p class="para">
       Wenn angegeben, wird die Suche diese Anzahl an Zeichen vom Anfang der
       Zeichenkette gezählt beginnen. Ist der Wert negativ, beginnt die Suche
       stattdessen diese Anzahl an Zeichen vom Ende des Strings gezählt.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.strpos-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die Position des Vorkommens von <code class="parameter">needle</code> relativ
   zum Anfang der Zeichenkette <code class="parameter">haystack</code> (unabhängig von
   <code class="parameter">offset</code>). Es ist ebenfalls zu beachten, dass
   Stringpositionen bei <code class="literal">0</code> beginnen, und nicht bei
   <code class="literal">1</code>.
  </p>
  <p class="para">
   Gibt <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück, wenn <code class="parameter">needle</code> nicht gefunden wurde.
  </p>
  <div class="warning"><strong class="warning">Warnung</strong><p class="simpara">Diese Funktion kann sowohl das
boolsche <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückliefern, als auch einen nicht-boolschen Wert, welcher zu <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
<a href="language.types.boolean.php" class="link"> boolschen Typen</a>. Benutzen Sie deshalb
<a href="language.operators.comparison.php" class="link">den === Operator</a>,
um den Rückgabewert dieser Funktion zu überprüfen.</p></div>
 </div>

 
 <div class="refsect1 errors" id="refsect1-function.strpos-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     Wenn <code class="parameter">offset</code> größer ist als die Länge von
     <code class="parameter">haystack</code>, wird eine
     <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span>-Ausnahme geworfen.
    </span>
   </li>
  </ul>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.strpos-changelog">
  <h3 class="title">Changelog</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Beschreibung</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
 <td>8.0.0</td>
 <td>
  <code class="parameter">needle</code> akzeptiert nun eine leere Zeichenkette.
 </td>
</tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Die Übergabe eines <a href="language.types.integer.php" class="link">Integer</a> als <code class="parameter">needle</code> wird
       nicht mehr unterstützt.
      </td>
     </tr>

     <tr>
      <td>7.3.0</td>
      <td>
       Die Übergabe eines <a href="language.types.integer.php" class="link">Integer</a> als <code class="parameter">needle</code> wird
       missbilligt.
      </td>
     </tr>

     <tr>
      <td>7.1.0</td>
      <td>
       Unterstützung für negative <code class="parameter">offset</code>-Werte wurde
       hinzugefügt.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.strpos-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Verwendung von <code class="literal">===</code></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$meinString </span><span style="color: #007700">= </span><span style="color: #DD0000">'abc'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$findMich   </span><span style="color: #007700">= </span><span style="color: #DD0000">'a'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$pos </span><span style="color: #007700">= </span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$meinString</span><span style="color: #007700">, </span><span style="color: #0000BB">$findMich</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert<br />// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle<br />// (also das erste Zeichen) ist<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">$pos </span><span style="color: #007700">=== </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Der String '</span><span style="color: #0000BB">$findMich</span><span style="color: #DD0000">' wurde nicht im String '</span><span style="color: #0000BB">$meinString</span><span style="color: #DD0000">' gefunden"</span><span style="color: #007700">;<br />} else {<br />    echo </span><span style="color: #DD0000">"Der String '</span><span style="color: #0000BB">$findMich</span><span style="color: #DD0000">' wurde im String '</span><span style="color: #0000BB">$meinString</span><span style="color: #DD0000">' gefunden"</span><span style="color: #007700">;<br />    echo </span><span style="color: #DD0000">" und befindet sich an Position </span><span style="color: #0000BB">$pos</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>

   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Verwendung von !==</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$meinString </span><span style="color: #007700">= </span><span style="color: #DD0000">'abc'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$findMich   </span><span style="color: #007700">= </span><span style="color: #DD0000">'a'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$pos </span><span style="color: #007700">= </span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$meinString</span><span style="color: #007700">, </span><span style="color: #0000BB">$findMich</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von !=<br />// würde in unserem Beispiel nicht wie erwartet arbeiten, da die Position<br />// von 'a' 0 ist. Das Statement (0 != false) evaluiert hierbei zu false.<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">$pos </span><span style="color: #007700">!== </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Der String '</span><span style="color: #0000BB">$findMich</span><span style="color: #DD0000">' wurde im String '</span><span style="color: #0000BB">$meinString</span><span style="color: #DD0000">' gefunden"</span><span style="color: #007700">;<br />    echo </span><span style="color: #DD0000">" und befindet sich an Position </span><span style="color: #0000BB">$pos</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />} else {<br />    echo </span><span style="color: #DD0000">"Der String '</span><span style="color: #0000BB">$findMich</span><span style="color: #DD0000">' wurde nicht im String '</span><span style="color: #0000BB">$meinString</span><span style="color: #DD0000">' gefunden"</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>

   <div class="example" id="example-3">
    <p><strong>Beispiel #3 Verwendung eines Offsets</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Wir können nach einem Zeichen suchen und dabei alles vor dem Offset ignorieren<br /></span><span style="color: #0000BB">$newstring </span><span style="color: #007700">= </span><span style="color: #DD0000">'abcdef abcdef'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$pos </span><span style="color: #007700">= </span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$newstring</span><span style="color: #007700">, </span><span style="color: #DD0000">'a'</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">); </span><span style="color: #FF8000">// $pos = 7, nicht 0<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$pos</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.strpos-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: <span class="simpara">Diese Funktion ist
binärsicher.</span></p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.strpos-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.stripos.php" class="function" rel="rdfs-seeAlso">stripos()</a> - Findet das erste Vorkommen eines Teilstrings in einem String, unabh&auml;ngig
   von Gro&szlig;- und Kleinschreibung</span></li>
    <li><span class="function"><a href="function.str-contains.php" class="function" rel="rdfs-seeAlso">str_contains()</a> - Pr&uuml;ft, ob eine Zeichenkette eine bestimmte Teilzeichenkette enth&auml;lt</span></li>
    <li><span class="function"><a href="function.str-ends-with.php" class="function" rel="rdfs-seeAlso">str_ends_with()</a> - Pr&uuml;ft, ob eine Zeichenkette mit einer bestimmten Teilzeichenkette endet</span></li>
    <li><span class="function"><a href="function.str-starts-with.php" class="function" rel="rdfs-seeAlso">str_starts_with()</a> - Pr&uuml;ft, ob eine Zeichenkette mit einer bestimmten Teilzeichenkette beginnt</span></li>
    <li><span class="function"><a href="function.strrpos.php" class="function" rel="rdfs-seeAlso">strrpos()</a> - Findet die Position des letzten Vorkommens eines Teilstrings innerhalb
   einer Zeichenkette</span></li>
    <li><span class="function"><a href="function.strripos.php" class="function" rel="rdfs-seeAlso">strripos()</a> - Findet das letzte Vorkommen der gesuchten Zeichenkette in einem String,
   unabh&auml;ngig von Gro&szlig;- und Kleinschreibung</span></li>
    <li><span class="function"><a href="function.strstr.php" class="function" rel="rdfs-seeAlso">strstr()</a> - Findet das erste Vorkommen eines Strings</span></li>
    <li><span class="function"><a href="function.strpbrk.php" class="function" rel="rdfs-seeAlso">strpbrk()</a> - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen</span></li>
    <li><span class="function"><a href="function.substr.php" class="function" rel="rdfs-seeAlso">substr()</a> - Liefert einen Teil eines Strings</span></li>
    <li><span class="function"><a href="function.preg-match.php" class="function" rel="rdfs-seeAlso">preg_match()</a> - F&uuml;hrt eine Suche mit einem regul&auml;ren Ausdruck durch</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>