So bestimmt PHP, wie viele Dimensionen ein Array hat: 1. Die Funktion ermittelt die Dimensionen des Arrays, indem sie sich selbst rekursiv aufruft, und verwendet die Funktion „foreach()“, um alle Elemente zu durchlaufen. Die Dimension wird um eins erhöht. Die Implementierung erfolgt durch Konvertieren des Arrays in einen JSON-String über die Funktion „json_encode()“ und anschließendes Bestimmen der hierarchischen Tiefe des JSON-Strings mithilfe regulärer Ausdrücke.
Das Betriebssystem dieses Tutorials: Windows 10-System, PHP-Version 8.1.3, DELL G3-Computer.
Methoden zum Bestimmen, wie viele Dimensionen ein Array hat:
Methode 1: Verwenden Sie Rekursion, um die Array-Dimensionen zu bestimmen
Die Funktion im folgenden Beispielcode bestimmt die Dimensionen des Arrays, indem sie sich nach dem Durchlaufen rekursiv aufruft Bei allen Elementen handelt es sich immer noch um ein Array. Erhöhen Sie die Dimension um eins.
/** * 判断数组维度 * * @param array $arr * @return int */ function array_dimension($arr) { $dimension = 0; if (is_array($arr)) { foreach ($arr as $item) { if (is_array($item)) { $sub_dimension = array_dimension($item); if ($sub_dimension > $dimension) { $dimension = $sub_dimension; } } } $dimension++; } return $dimension; } // 示例数据 $arr1 = array(1, 2, 3); $arr2 = array(array(1, 2), array(3, 4)); $arr3 = array(array(array(1, 2), array(3, 4)), array(array(5, 6), array(7, 8))); echo '数组1的维度:' . array_dimension($arr1) . '<br>'; echo '数组2的维度:' . array_dimension($arr2) . '<br>'; echo '数组3的维度:' . array_dimension($arr3) . '<br>';
Das obige Code-Ausgabeergebnis:
数组1的维度:1 数组2的维度:2 数组3的维度:3
Methode 2: In JSON-Format konvertieren, um die Array-Dimension zu bestimmen
Die Funktion im folgenden Beispielcode konvertiert das Array in eine JSON-Zeichenfolge und bestimmt dann die hierarchische Tiefe des JSON String durch reguläre Ausdrücke realisiert.
/** * 判断数组维度 * * @param array $arr * @return int */ function array_dimension($arr) { $json_arr = json_encode($arr, JSON_UNESCAPED_UNICODE); $max_depth = 1; if (preg_match_all('/(?:^|\{|\,)\s*(\[(?R)*\]|\{(?R)*\})\s*(?:(?=\:)|$)/', $json_arr, $m)) { foreach ($m[1] as $val) { $depth = substr_count(str_replace(["[", "{", "]", "}"], "", $val), ',') + 1; if ($depth > $max_depth) { $max_depth = $depth; } } } return $max_depth; } // 示例数据 $arr1 = array(1, 2, 3); $arr2 = array(array(1, 2), array(3, 4)); $arr3 = array(array(array(1, 2), array(3, 4)), array(array(5, 6), array(7, 8))); echo '数组1的维度:' . array_dimension($arr1) . '<br>'; echo '数组2的维度:' . array_dimension($arr2) . '<br>'; echo '数组3的维度:' . array_dimension($arr3) . '<br>';
Das obige Code-Ausgabeergebnis:
数组1的维度:1 数组2的维度:2 数组3的维度:3
Die oben genannten Methoden sind relativ einfach zu implementieren. Sie können die geeignete Methode entsprechend Ihren eigenen Anforderungen auswählen.
Das obige ist der detaillierte Inhalt vonSo bestimmen Sie, wie viele Dimensionen ein Array in PHP hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver CS6
Visuelle Webentwicklungstools

Dreamweaver Mac
Visuelle Webentwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version
