Heim Backend-Entwicklung PHP-Problem So überprüfen Sie die Dimensionalität eines Arrays in PHP

So überprüfen Sie die Dimensionalität eines Arrays in PHP

Jul 13, 2023 pm 04:14 PM
php 数组

So überprüfen Sie in PHP, ob ein Array ein mehrdimensionales Array ist: 1. Mithilfe der Schleifenrekursionsbeurteilung können Sie eine rekursive Funktion zum Durchlaufen des Arrays schreiben und dieselbe Funktion rekursiv aufrufen, wenn Sie auf ein verschachteltes Array stoßen ein Nicht-Array-Element, gibt die Anzahl der aktuell durchlaufenen Ebenen zurück. 2. Verwenden Sie die Funktion „array_filter“, um zu vergleichen, ob die Gesamtzahl der Elemente des Arrays und die rekursive Anzahl gleich sind Array ist ein mehrdimensionales Array. 3. Verwenden Sie die Funktion array_walk_recursive usw. .

So überprüfen Sie die Dimensionalität eines Arrays in PHP

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP8.1.3-Version, Dell G3-Computer.

In PHP ist die Überprüfung, ob ein Array ein eindimensionales Array oder ein mehrdimensionales Array ist, eine häufige Aufgabe. Beim Umgang mit Array-Operationen ist es wichtig, die Dimensionen des Arrays zu verstehen, da sie sich auf die Methoden auswirken, die wir zum Durchlaufen und Bearbeiten des Arrays verwenden.

Wie kann man also überprüfen, ob ein Array ein eindimensionales Array oder ein mehrdimensionales Array ist? Im Folgenden werden verschiedene Beurteilungsmethoden vorgestellt.

1. Verwenden Sie die Schleifenrekursion, um zu bestimmen

Die Verwendung der Schleifenrekursion ist eine gängige Methode, um die Abmessungen eines Arrays zu überprüfen. Sie können eine rekursive Funktion schreiben, die ein Array durchläuft und dieselbe Funktion rekursiv aufruft, wenn verschachtelte Arrays gefunden werden. Wenn ein Nicht-Array-Element angetroffen wird, wird die aktuell durchlaufene Ebene zurückgegeben. Zum Beispiel:

function getArrayDepth($array){
$max_depth = 1;
foreach($array as $value){
if(is_array($value)){
$depth = getArrayDepth($value) + 1;
if($depth > $max_depth){
$max_depth = $depth;
}
}
}
return $max_depth;
}
Nach dem Login kopieren

Verwendungsbeispiel:

$array1 = [1, 2, 3];
$array2 = [1, [2, 3]];
$array3 = [1, [2, [3]]];
echo getArrayDepth($array1); // 输出1
echo getArrayDepth($array2); // 输出2
echo getArrayDepth($array3); // 输出3
Nach dem Login kopieren

Diese Methode durchläuft das Array rekursiv und ruft dieselbe Funktion rekursiv auf, wenn ein verschachteltes Array gefunden wird, wodurch schließlich die maximale Tiefe des Arrays zurückgegeben wird.

2. Verwenden Sie die Funktion array_filter

Die Funktion array_filter von PHP kann die Elemente im Array gemäß der angegebenen Rückruffunktion filtern und die Elemente zurückgeben, die die Bedingungen erfüllen. Mit der Funktion array_filter können wir prüfen, ob ein Array verschachtelte Arrays enthält.

function isMultiDimensional($array){
return (count($array) !== count($array, COUNT_RECURSIVE));
}
Nach dem Login kopieren

Anwendungsbeispiel:

$array1 = [1, 2, 3];
$array2 = [1, [2, 3]];
$array3 = [1, [2, [3]]];
var_dump(isMultiDimensional($array1)); // 输出false
var_dump(isMultiDimensional($array2)); // 输出true
var_dump(isMultiDimensional($array3)); // 输出true
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode ermittelt, ob verschachtelte Arrays vorhanden sind, indem sie vergleicht, ob die Gesamtzahl der Elemente des Arrays und die Rekursionsanzahl gleich sind. Wenn sie nicht gleich sind, bedeutet dies, dass das Array ein mehrdimensionales Array ist.

3. Verwenden Sie die Funktion array_walk_recursive

Die Funktion array_walk_recursive von PHP kann rekursiv eine benutzerdefinierte Funktion für jedes Element im Array aufrufen. Mit dieser Funktion können wir prüfen, ob ein Array verschachtelte Arrays enthält.

function isMultiDimensional($array){
$result = false;
$callback = function($value) use (&$result){
if(is_array($value)){
$result = true;
}
};
array_walk_recursive($array, $callback);
return $result;
}
Nach dem Login kopieren

Anwendungsbeispiel:

$array1 = [1, 2, 3];
$array2 = [1, [2, 3]];
$array3 = [1, [2, [3]]];
var_dump(isMultiDimensional($array1)); // 输出false
var_dump(isMultiDimensional($array2)); // 输出true
var_dump(isMultiDimensional($array3)); // 输出true
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode verwendet die Funktion array_walk_recursive, um jedes Element im Array zu durchlaufen, setzt sie ein Flag-Bit auf true und gibt schließlich den Wert des Flag-Bits zurück.

Die oben genannten sind drei gängige Methoden, um zu überprüfen, ob ein Array ein eindimensionales Array oder ein mehrdimensionales Array ist. Wählen Sie die geeignete Methode entsprechend den tatsächlichen Anforderungen aus, um bei der Verarbeitung von Array-Operationen flexibler und effizienter zu sein.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Dimensionalität eines Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles