Heim  >  Artikel  >  Backend-Entwicklung  >  So überprüfen Sie mit PHP, ob sich ein Wert in einem 2D-Array befindet

So überprüfen Sie mit PHP, ob sich ein Wert in einem 2D-Array befindet

PHPz
PHPzOriginal
2023-04-14 20:03:111045Durchsuche

In PHP ist ein zweidimensionales Array eine sehr häufige Datenstruktur. In der tatsächlichen Entwicklung müssen wir manchmal feststellen, ob sich ein bestimmter Wert in einem zweidimensionalen Array befindet. In diesem Artikel wird erläutert, wie Sie mit PHP überprüfen, ob sich ein Wert in einem zweidimensionalen Array befindet.

  1. Methode 1: Foreach-Schleife verwenden

Verwenden Sie die Foreach-Schleife, um das zweidimensionale Array zu durchlaufen, vergleichen Sie jeden Wert einzeln. Wenn der Wert im zweidimensionalen Array vorhanden ist, geben Sie true zurück, andernfalls geben Sie false zurück.

Der Beispielcode lautet wie folgt:

function in_array_2d($value, $array) {
    foreach ($array as $item) {
        if (in_array($value, $item)) {
            return true;
        }
    }
    return false;
}

Die Implementierung des obigen Codes ist relativ einfach. Er verwendet die in PHP integrierte Funktion in_array, um zu bestimmen, ob sich der Wert im Array befindet, und verwendet eine foreach-Schleife, um die beiden zu durchlaufen. dimensionales Array.

Die Verwendungsmethode ist ebenfalls sehr einfach. Übergeben Sie einfach den zu beurteilenden Wert und das zweidimensionale Array, zum Beispiel:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9),
);
$value = 5;
if (in_array_2d($value, $array)) {
    echo '值存在于数组中';
} else {
    echo '值不存在于数组中';
}

In diesem Beispiel ist $array ein zweidimensionales Array, $value ist der Wert zu beurteilenden Wert und das Ausführungsergebnis für „Wert existiert im Array“.

  1. Methode 2: Verwenden Sie die Funktion array_walk_recursive.

Verwenden Sie die Funktion array_walk_recursive, um alle Elemente im zweidimensionalen Array zu durchlaufen. Wenn der Wert vorhanden ist, geben Sie true zurück, andernfalls geben Sie false zurück.

Der Beispielcode lautet wie folgt:

function in_array_2d($value, $array) {
    $exist = false;
    array_walk_recursive($array, function($item) use (&$exist, $value) {
        if ($item == $value) {
            $exist = true;
        }
    });
    return $exist;
}

Der obige Code verwendet die Funktion array_walk_recursive, um das zweidimensionale Array zu durchlaufen, und verwendet das Schlüsselwort use, um $exist zu übergeben, und $value ist eine vorhandene Flagvariable , und $value muss als Wert beurteilt werden.

In ähnlicher Weise ist auch die Verwendungsmethode sehr einfach. Übergeben Sie einfach den zu beurteilenden Wert und das zweidimensionale Array, zum Beispiel:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9),
);
$value = 5;
if (in_array_2d($value, $array)) {
    echo '值存在于数组中';
} else {
    echo '值不存在于数组中';
}

In diesem Beispiel ist $array ein zweidimensionales Array und $value der zu beurteilende Wert. Das Ausführungsergebnis ist „Wert existiert im Array“.

Zusammenfassung

Beide der beiden oben genannten Methoden können verwendet werden, um festzustellen, ob sich ein Wert in einem zweidimensionalen Array befindet. Bei der Verwendung können Sie je nach Bedarf verschiedene Methoden auswählen. In Bezug auf die Leistung beträgt die Zeitkomplexität beider Methoden O (n ^ 2). Wenn das zweidimensionale Array relativ groß ist, wird empfohlen, andere effizientere Algorithmen zu wählen.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie mit PHP, ob sich ein Wert in einem 2D-Array befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn