strncasecmp

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

strncasecmp Binärsicherer Vergleich von Zeichenketten der ersten n Zeichen ohne Berücksichtigung der Groß- und Kleinschreibung

Beschreibung

strncasecmp(string $string1, string $string2, int $length): int

Diese Funktion ist identisch zu strcasecmp() bis auf den Unterschied, dass die (Mindest-) Anzahl von Zeichen angegeben werden kann, die von jeder Zeichenkette in den Vergleich einfließen sollen.

Parameter-Liste

string1

Die erste Zeichenkette.

string2

Die zweite Zeichenkette.

length

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

Rückgabewerte

Gibt -1 zurück, wenn string1 in der Reihenfolge der Sortierung vor string2 kommt, 1, wenn string1 nach string2 kommt, und 0, wenn sie gleich sind.

Changelog

Version Beschreibung
8.2.0 Diese Funktion gibt nun -1 oder 1 zurück, wo sie vorher eine negative oder positive Zahl zurückgab.

Beispiele

Beispiel #1 strncasecmp()-Beispiel

<?php

$var1 
'Hello John';
$var2 'hello Doe';
if (
strncasecmp($var1$var25) === 0) {
    echo 
'Die ersten 5 Zeichen von $var1 und $var2 sind in einem Vergleich von Strings ohne Berücksichtigung der Groß- und Kleinschreibung gleich';
}
?>

Siehe auch

  • strncmp() - String-Vergleich der ersten n Zeichen (binärsicher)
  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • substr_compare() - Binärsicherer Vergleich zweier Strings, beginnend an einer bestimmten Position und endend nach einer festgelegten Länge
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (binärsicher)
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • substr() - Liefert einen Teil eines Strings

add a note

User Contributed Notes 2 notes

up
-6
sazalach at gmail dot com
6 years ago
<?php
$str1
= "red";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 3);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

if we run the above script then we will get return 0, because first string $str1 = "red" and second $str2 = "redent" but in comparison i have set the first three character will try to match. as per condition if two string are equal then it will return 0. But in below example it will return greater than 0 because here is str1 is greater than str2.

<?php
$str1
= "redmyshirt";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 4);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

as same if we run the below script it will return -1 because str1 is less than str2.

<?php
$str1
= "red";
$str2 = "redent";
$test=strncasecmp($str1, $str2 , 4);
if (
$str1==$str2)
{
echo
"$test";
}
else
{
echo
"$test" ;
}
?>

ya..i think its easy to understand
up
-46
saikumar dot msc at gmail dot com
8 years ago
Example:
<?php
$string
= “true”;
if(
strncasecmp($string, “Trudeau”, 4)) { print “True”; } else { print "False" }
?>

If we look at above example, immediately we will say the final output will be 'False', but that's not real.

Method "strncasecmp()" returns 1 because the first four characters of ‘Trud’ come before the first four characters of "true" when sorted not case sensitively.
To Top