Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
 
 
 

Vergleichen von zwei Zeichenketten im eine Binärformat

Sie befinden sich: Home > Php Tutorial > Vergleichen von zwei Zeiche...

Vergleichen von zwei Zeichenketten im eine Binärformat


Eintrag am:  24.11.2009
Hits / Besucher:  4790
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

In diesem Tutorial erkläre ich ihnen, wie sie die PHP-Funktion strcmp() verwenden. Diese PHP-Funktion wandelt zwei Zeichenketten in das Binärformat um und dann werden diese beiden miteinander verglichen. Sie könnten zum Beispiel damit eine Vergleichssuche realisieren oder mit der PHP-Funktion usort() ein Array sortieren über die Vergleichsfunktion.

Der Syntax:

strcmp(Zeichenkette1, Zeichenkette2);

Beispiel:

<?php

$zeichenkette1 = 'Nico';
$zeichenkette2 = 'Nico Schubert';
$rueckgabe_strcmp = strcmp($zeichenkette1,
$zeichenkette2);
echo $rueckgabe_strcmp;
?>



Ausgabe:

-9

Erklärung: In den Variablen $zeichenkette1 und $zeichenkette2 sind zwei unterschiedlich lange Strings gespeichert. Danach wird mit der PHP Funktion strcmp() die beiden Variable in Binärcode umgewandelt und miteinander verglichen. Das Ergebnis wird in der Variable $rueckgabe_strcmp gespeichert. Im nächsten Abschnitt geben wir den PHP Befehl echo die Variable $rueckgabe_strcmp aus.

Hinweis: Es wird bei dieser PHP-Funktion strcmp(), zwischen Groß- und Kleinschreibung unterschieden. Die Funktion gibt die Werte -1, 0 oder 1 zur rück. Bei -1 ist die Zeichenkette1 kleiner als die Zeichenkette2. Bei 0 sind beide gleich. Wenn die Zahl eine positive Zahl z. B.: 1, wäre die Zeichenkette2 größer.

Alternativ können sie sich, die PHP-Funktion strcspn() ansehen.

Beispiel 2:

<?php

$str1 = "Hallo";
$str2 = "Welt";

$resultat = strcmp($str1, $str2);

if ($resultat < 0) {
echo "'$str1' ist kleiner als '$str2'.";
} elseif ($resultat > 0) {
echo "'$str1' ist größer als '$str2'.";
} else {
echo "'$str1' ist gleich '$str2'.";
}

Ausgabe:

'Hallo' ist kleiner als 'Welt'.

Hier ist eine detaillierte Erklärung für den Code:

Wir haben hier zunächst zwei Zeichenketten, $str1 und $str2, die die Wörter „Hallo“ bzw. „Welt“ enthalten. Dann verwenden wir die Funktion strcmp() in PHP, um die beiden Zeichenketten zu vergleichen.

Die strcmp()-Funktion vergleicht die beiden Zeichenketten lexikographisch (wie im Wörterbuch) und gibt einen Wert zurück, der angibt, ob die erste Zeichenkette vor, nach oder gleich der zweiten Zeichenkette kommt.

  • Wenn der Rückgabewert kleiner als 0 ist, bedeutet dies, dass $str1 vor $str2 kommt, also in diesem Fall „Hallo“ vor „Welt“. Das wird durch die Bedingung if ($resultat < 0) abgedeckt, und dementsprechend wird die Ausgabe „'Hallo' ist kleiner als 'Welt'.“ erzeugt.

  • Wenn der Rückgabewert größer als 0 ist, bedeutet dies, dass $str1 nach $str2 kommt, also „Hallo“ nach „Welt“. Dies wird durch die Bedingung elseif ($resultat > 0) abgedeckt, und dementsprechend wird die Ausgabe „'Hallo' ist größer als 'Welt'.“ erzeugt.

  • Wenn der Rückgabewert genau 0 ist, bedeutet dies, dass beide Zeichenketten gleich sind, also „Hallo“ gleich „Welt“. Dies wird durch die Bedingung else abgedeckt, und dementsprechend wird die Ausgabe „'Hallo' ist gleich 'Welt'.“ erzeugt.

So gibt dieser Code also eine klare Aussage darüber, wie die beiden Zeichenketten im Vergleich zueinander stehen, und gibt entsprechend eine passende Meldung aus.

Beispiel 3 - Fallunempfindlicher Vergleich: 

Da strcmp() fallempfindlich ist, kann es nützlich sein, strcasecmp() für einen farbunempfindlichen Vergleich zu verwenden. Hier ist, wie Sie es nutzen könnten:

<?php

$str1 = "Hallo";
$str2 = "hallo";

$resultat = strcasecmp($str1, $str2);

if ($resultat == 0) {
echo "'$str1' und '$str2' sind gleich, ohne Berücksichtigung der Groß- und Kleinschreibung.";
} else {
echo "'$str1' und '$str2' sind nicht gleich, auch wenn die Groß- und Kleinschreibung ignoriert wird.";
}

Ausgabe: 

'Hallo' und 'hallo' sind gleich, ohne Berücksichtigung der Groß- und Kleinschreibung.

Hier ist eine ausführliche Erklärung zu dem Code:

Zuerst definieren wir zwei Variablen, $str1 und $str2, und weisen ihnen jeweils einen String-Wert zu. $str1 erhält den Wert „Hallo“ und $str2 den Wert „hallo“. Beachten Sie, dass der Wert von $str2 kleingeschrieben ist, während der Wert von $str1 großgeschrieben ist.

Dann verwenden wir die Funktion strcasecmp(), um den Vergleich zwischen den beiden Strings durchzuführen. Diese Funktion vergleicht zwei Strings, ohne auf die Groß- und Kleinschreibung zu achten. Wenn die beiden Strings gleich sind, wird 0 zurückgegeben. Andernfalls wird ein Wert ungleich 0 zurückgegeben, der angibt, dass die beiden Strings nicht gleich sind.

Im nächsten Schritt überprüfen wir das Ergebnis des Vergleichs. Wenn $resultat gleich 0 ist, geben wir aus, dass die beiden Strings gleich sind, ohne die Groß- und Kleinschreibung zu berücksichtigen. Andernfalls geben wir aus, dass die beiden Strings nicht gleich sind, auch wenn die Groß- und Kleinschreibung ignoriert wird.

In diesem speziellen Fall geben wir aus: „'Hallo' und 'hallo' sind nicht gleich, auch wenn die Groß- und Kleinschreibung ignoriert wird.“ Dies liegt daran, dass, obwohl die Groß- und Kleinschreibung ignoriert wird, die beiden Strings nicht identisch sind, da „H“ und „h“ unterschiedliche ASCII-Werte haben.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.