Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 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...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
 
 
 

Array überprüfen ob ein Wert vorhanden ist

Sie befinden sich: Home > Php Tutorial > Array überprüfen ob ein...

Array überprüfen ob ein Wert vorhanden ist


Eintrag am:  05.12.2022
Hits / Besucher:  1673
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Die PHP-Funktion in_array() ist eine nützliche Funktion, die dazu verwendet werden kann, um zu überprüfen, ob ein bestimmter Wert in einem Array vorhanden ist.

Die Syntax für die in_array()-Funktion in PHP lautet wie folgt:

in_array(mixed $value, array $array, bool $strict = false)

Der erste Parameter $value ist der gesuchte Wert. Der zweite Parameter $array ist das Array, das durchsucht wird. Der optionale dritte Parameter $strict bestimmt, ob der Vergleich typsicher erfolgen soll. Ist $strict auf true gesetzt, vergleicht PHP sowohl den Wert als auch den Datentyp. Ohne diesen Parameter verwendet PHP einen losen Vergleich, was zu unerwarteten Ergebnissen führen kann.

Die Funktion gibt true zurück, wenn der Wert gefunden wurde, andernfalls false.

Beispiel:

<?php

$numbers = array(1, 2, 3, 4, 5);

if (in_array(4, $numbers)) {
echo "Der Wert ist in dem Array vorhanden!";
} else {
echo "Der Wert ist nicht in dem Array vorhanden!";
}
?>

In diesem Beispiel wird die in_array()-Funktion in PHP verwendet, um zu überprüfen, ob der Wert 4 in dem Array $numbers vorhanden ist. Der erste Parameter (4) ist der zu suchende Wert und der zweite Parameter ($numbers) ist das Array, in dem gesucht wird. Wenn der Wert gefunden wird, gibt die Funktion TRUE zurück, andernfalls FALSE. Wenn der Wert gefunden wird, wird die Zeichenfolge „Der Wert ist in dem Array vorhanden!“ angezeigt, andernfalls wird die Zeichenfolge „Der Wert ist nicht in dem Array vorhanden!“ angezeigt.

Die Funktion durchsucht sowohl numerische als auch assoziative Arrays und vergleicht dabei nur die Werte, nicht die Schlüssel.

Typsicherer Vergleich mit strict

Ohne den dritten Parameter vergleicht in_array() mit dem == Operator. Das kann zu überraschenden Ergebnissen führen, weil PHP unterschiedliche Datentypen automatisch umwandelt. Mit strict = true wird stattdessen === verwendet.

<?php

$werte = [0, 1, 2, 3];

/* Ohne strict: PHP wandelt "abc" in 0 um,
findet also eine "Übereinstimmung" */
var_dump(in_array("abc", $werte));
// bool(true) - unerwartet!

/* Mit strict: Typen müssen
ebenfalls übereinstimmen */
var_dump(in_array("abc", $werte, true));
// bool(false) - korrekt
?>

Gerade bei gemischten Arrays oder Benutzereingaben ist der strikte Modus empfehlenswert, um solche Fallen zu vermeiden.

Suche in assoziativen Arrays

Bei assoziativen Arrays durchsucht in_array() nur die Werte. Wer stattdessen prüfen möchte, ob ein bestimmter Schlüssel existiert, verwendet array_key_exists().

<?php

$person = [
"name" => "Max",
"stadt" => "Berlin",
"alter" => 30
];

/* Suche nach einem Wert */
if (in_array("Berlin", $person)) {
echo "Berlin gefunden!";
}

/* Suche nach einem Schlüssel */
if (array_key_exists("name", $person)) {
echo "Schlüssel name existiert!";
}
?>

Die Unterscheidung zwischen Wert- und Schlüsselsuche ist ein häufiger Stolperstein bei der Arbeit mit assoziativen Arrays.

Verwandte Funktionen

  • array_search() gibt den Schlüssel des gefundenen Werts zurück statt nur true oder false. Praktisch, wenn die Position im Array relevant ist.
  • array_key_exists() prüft, ob ein bestimmter Schlüssel im Array existiert. Im Gegensatz zu in_array() werden hier die Schlüssel durchsucht, nicht die Werte.
  • isset() prüft ebenfalls auf Schlüssel, gibt aber false zurück wenn der Wert null ist.

Tipp: Bevor Sie in_array() aufrufen, prüfen Sie mit is_array(), ob die Variable tatsächlich ein Array enthält. So vermeiden Sie Fehlermeldungen bei unerwarteten Datentypen.

 

Tags:

 

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.