Christian Seiler: Funktion array_search() wird nicht erkannt.

Beitrag lesen

Hallo,

Nach SelfPHP von von Damir Enseleit sollte es nach http://www.selfphp.info/funktionsreferenz/array_funktionen/array_search.php eigentlich gehen.

Welche Version von PHP verwendest Du denn? array_seach wird erst ab PHP 4.0.5 unterstützt (siehe http://www.php.net/manual/en/function.array-search.php).

Ich bitte um schnelle Hilfe und eventueller Alternativmöglichkeiten zu der Funktion und bedanke mich schonmal im Voraus für die Unterstützung.

Alternativen - Hmmm. Ab PHP Version 4 könntest Du in_array verwenden, das liefert aber nur zurück, OB es den Wert gibt, aber nicht, welchen Schlüssel er hat (http://www.php.net/manual/en/function.in-array.php)

Sonst könntest Du ihn manuell abarbeiten (ist aber langsamer als die Funktion array_search):

Für PHP3:
------------- schnipp ----------------
function array_search ($needle, $haystack) {
  if (!is_array ($haystack))
    return FALSE;

while (list($key, $val) = each($haystack)) {
    if ($val == $needle)
      return $key;
  }
  return FALSE;
}
------------- schnapp ----------------

Für PHP4:
------------- schnipp ----------------
function array_search ($needle, $haystack) {
  if (!is_array ($haystack))
    return FALSE;

foreach ($haystack as $key => $val) {
    if ($val == $needle)
      return $key;
  }
  return FALSE;
}
------------- schnapp ----------------

Grüße,

Christian