<?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.strrpos.php',
    1 => 'strrpos',
    2 => 'Findet die Position des letzten Vorkommens eines Teilstrings innerhalb
   einer Zeichenkette',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'String-Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.strripos.php',
    1 => 'strripos',
  ),
  'next' => 
  array (
    0 => 'function.strspn.php',
    1 => 'strspn',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/strings/functions/strrpos.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.strrpos" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">strrpos</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">strrpos</span> &mdash; <span class="dc-title">
   Findet die Position des letzten Vorkommens eines Teilstrings innerhalb
   einer Zeichenkette
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.strrpos-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>strrpos</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 letzten 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.strrpos-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 null (<code class="literal">0</code>) oder positiv, wird die Suche von links
       nach rechts durchgeführt, wobei die ersten <code class="parameter">offset</code>
       Bytes von <code class="parameter">haystack</code> übersprungen werden.
      </p>
      <p class="para">
       Wenn negativ, beginnt die Suche <code class="parameter">offset</code> Bytes von
       rechts statt vom Anfang von <code class="parameter">haystack</code>. Die Suche
       wird von rechts nach links durchgeführt, wobei nach dem ersten Vorkommen
       von <code class="parameter">needle</code> ab dem ausgewählten Byte gesucht wird.
       <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
        <p class="para">
         Dies bedeutet, dass das letzte Vorkommen von
         <code class="parameter">needle</code> an oder vor den letzten
         <code class="parameter">offset</code> Bytes gesucht wird.
        </p>
       </p></blockquote>
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.strrpos-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die Position des Vorkommens des gesuchten Teilstrings relativ
   zum Anfang der Zeichenkette <code class="parameter">haystack</code> (unabhängig
   von Suchrichtung oder Offset) zurück.
   <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
    <span class="simpara">
     Positionen in Zeichenketten werden ab 0 gezählt, und nicht ab 1.
    </span>
   </p></blockquote>
  </p>
  <p class="para">
   Gibt <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück, falls der gesuchte Teilstring 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.strrpos-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.strrpos-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>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.strrpos-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Prüfen ob needle in haystack vorkommt</strong></p>
    <div class="example-contents"><p>
     Es liegt nahe, einen Fehler bei der Auswertung der Rückgabewerte von
     &quot;Zeichen an Position 0 gefunden&quot; und &quot;Zeichen nicht gefunden&quot; zu begehen.
     Am einfachsten finden Sie den Unterschied wie folgt heraus:
    </p></div>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$mystring </span><span style="color: #007700">= </span><span style="color: #DD0000">'Elephpant'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$pos </span><span style="color: #007700">= </span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$meinstring</span><span style="color: #007700">, </span><span style="color: #DD0000">"b"</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$pos </span><span style="color: #007700">=== </span><span style="color: #0000BB">false</span><span style="color: #007700">) { </span><span style="color: #FF8000">// Beachten Sie die drei Gleichheitszeichen<br />    // nicht gefunden ...<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Mit Offsets suchen</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$foo </span><span style="color: #007700">= </span><span style="color: #DD0000">"0123456789a123456789b123456789c"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Sucht '0' ab dem nullten Byte (vom Anfang an)<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'0'</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht '0' ab dem ersten Byte (nach Byte "0")<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'0'</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht '7' ab dem 21ten Byte (nach Byte 20)<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'7'</span><span style="color: #007700">, </span><span style="color: #0000BB">20</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht '7' ab dem 29ten Byte (nach Byte 28)<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'7'</span><span style="color: #007700">, </span><span style="color: #0000BB">28</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht '7' von rechts nach links ab dem fünften Byte vom Ende<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'7'</span><span style="color: #007700">, -</span><span style="color: #0000BB">5</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht 'c' von rechts nach links ab dem zweiten Byte vom Ende<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'c'</span><span style="color: #007700">, -</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Sucht '9c' von rechts nach links ab dem zweiten Byte vom Ende<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$foo</span><span style="color: #007700">, </span><span style="color: #DD0000">'9c'</span><span style="color: #007700">, -</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">int(0)
bool(false)
int(27)
bool(false)
int(17)
bool(false)
int(29)</pre>
</div>
   </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.strrpos-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.strpos.php" class="function" rel="rdfs-seeAlso">strpos()</a> - Sucht die Position des ersten Vorkommens des Suchstrings in einem String</span></li>
    <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.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.strrchr.php" class="function" rel="rdfs-seeAlso">strrchr()</a> - Sucht das letzte Vorkommen eines Zeichens in einem String</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>
   </ul>
  </p>
 </div>


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