PHP Doku:: Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen - function.strncasecmp.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzTextverarbeitungZeichenkettenString-Funktionenstrncasecmp

Ein Service von Reinhard Neidl - Webprogrammierung.

String-Funktionen

<<strnatcmp

strncmp>>

strncasecmp

(PHP 4 >= 4.0.2, PHP 5)

strncasecmpBinärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen

Beschreibung

int strncasecmp ( string $str1 , string $str2 , int $len )

Diese Funktion ist identisch zu strcasecmp() bis auf den Unterschied, dass Sie die (Mindest-) Anzahl von Zeichen, die von jeder Zeichenkette in den Vergleich einfließen sollen, angeben können.

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

len

Die Länge der Zeichenkette, die für den Vergleich herangezogen werden soll.

Rückgabewerte

Gibt einen Wert <0 zurück, wenn str1 kürzer ist als str2, einen Wert >0, wenn str1 länger ist als str2, und 0, wenn sie gleich sind.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings


2 BenutzerBeiträge:
- Beiträge aktualisieren...
khootz
28.11.2006 5:23
i assume you can also use the ! (not) operator

<?php

if (!strncasecmp($string, 'Trudeau', 4)){
       print
"true";
}

?>

since booleans in PHP translate 0 to FALSE and any other integer to TRUE.

!0  = !false = true
!1  = !true = false
!-1 = !true = false
djdykes
31.08.2005 12:43
Hi all,

be aware when comparing strings using the strcmp family. if you write code like this...

if (strncasecmp($string, 'Trudeau', 4))
 print "true";

The above code returns 1 which evaluates to boolean 'true'

that statement will always be true... because these functions return 0 only when equal. so a better test would be

if ( (strncasecmp($string, 'Trudeau', 4)) == 0)
 print "true";

always test these functions equality with 0

regards



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)