So ermitteln Sie, ob es sich in PHP um ein zweidimensionales Array handelt

王林
Freigeben: 2023-05-07 14:17:09
Original
597 Leute haben es durchsucht

PHP ist eine serverseitig interpretierte Skriptsprache, die in der Webentwicklung weit verbreitet ist. Ihre Anwendung ist auch in der Webentwicklung sehr umfangreich, beispielsweise bei der Website-Entwicklung, der Systementwicklung usw. Arrays sind ein sehr häufig verwendeter Datentyp in PHP, und zweidimensionale Arrays sind noch häufigere Datentypen. Wie bestimmen wir also, ob ein Array ein zweidimensionales Array ist? Dieser Artikel wird diese Frage für Sie beantworten.

Lassen Sie uns zunächst das Konzept von Arrays in PHP verstehen und überprüfen. Ein Array ist eine geordnete Liste, die mehrere Werte unter einem einzigen Variablennamen speichern kann. In PHP gibt es zwei Arten von Arrays, nämlich allgemeine Arrays und assoziative Arrays. Im Allgemeinen speichern Arrays Elemente unter Verwendung von Zahlen als Schlüssel des Arrays, während assoziative Arrays Elemente unter Verwendung benutzerdefinierter Schlüsselnamen speichern. Zum Beispiel:

//定义一般数组
$num = array(1,2,3,4,5);
//定义关联数组
$user = array("name"=>"Tom","age"=>20,"gender"=>"male");
Nach dem Login kopieren

Dann liegt der Fokus unserer Aufmerksamkeit auf der zweidimensionalen Anordnung. Ein zweidimensionales Array bezieht sich auf ein Array, das mehrere Arrays enthält, die auch Subarrays genannt werden. Jedes Subarray kann einige eigene Werte enthalten. In PHP können zweidimensionale Arrays auf folgende Weise definiert werden:

//使用array表示法初始化二维数组
$users = array(
              array("name"=>"Tom","age"=>20,"gender"=>"male"),
              array("name"=>"Lucy","age"=>22,"gender"=>"female"),
              array("name"=>"Jack","age"=>18,"gender"=>"male")
          );

//使用简单的方式初始化
$users[0] = array("name"=>"Tom","age"=>20,"gender"=>"male");
$users[1] = array("name"=>"Lucy","age"=>22,"gender"=>"female");
$users[2] = array("name"=>"Jack","age"=>18,"gender"=>"male");

//使用普通数组定义二维数组
$users = array(
              ["name"=>"Tom","age"=>20,"gender"=>"male"],
              ["name"=>"Lucy","age"=>22,"gender"=>"female"],
              ["name"=>"Jack","age"=>18,"gender"=>"male"]
          );
Nach dem Login kopieren

Lassen Sie uns nun darüber sprechen, wie Sie feststellen können, ob ein Array ein zweidimensionales Array ist. Der Autor glaubt, dass es zwei gängige Methoden gibt:

Methode 1: Verwenden Sie die Funktion is_array() und die Funktion count().

Die Funktion is_array() kann verwendet werden, um zu erkennen, ob eine Variable ein Array ist. Wenn dies der Fall ist, gibt sie true zurück , nicht falsch. Mit der Funktion count() kann die Anzahl der Elemente in einem Array gezählt werden. Unter Ausnutzung der Eigenschaften dieser beiden Funktionen können wir zunächst die Funktion is_array() verwenden, um festzustellen, ob das Array ein Array ist. Wenn ja, verwenden wir dann die Funktion count(), um festzustellen, ob das Array mehrere Arrays enthält Array ist ein zweidimensionales Array, wie folgt:

function is_two_dimen_array($arr){
    //判断是否为数组
    if(is_array($arr)){
        foreach($arr as $v){
            if(!is_array($v)){
                //如果数组中每个元素不是数组
                return false;
            }
        }
        //如果每个元素都是数组,返回真
        return true; 
    }
    //如果不是数组,返回假
    return false;
}

//测试
$array = array(array(1,2),array(3,4));
var_dump(is_two_dimen_array($array)); //输出bool(true)
Nach dem Login kopieren

Im obigen Code verwenden wir zunächst die Funktion is_array(), um zu bestimmen, ob es sich um ein Array handelt, und durchlaufen dann die Elemente im Array. und verwenden Sie die Funktion is_array(), um zu bestimmen, ob jedes Element ein Array ist. Gibt „true“ zurück, wenn jedes Element ein Array ist, andernfalls „false“.

Methode 2: Verwenden Sie die Funktionen array_filter() und array_map().

Die Funktion array_filter() kann verwendet werden, um Elemente in einem Array zu filtern, die bestimmte Bedingungen erfüllen, und ein neues Array aus diesen Elementen zurückzugeben. Die Funktion array_map() kann eine Rückruffunktion auf jedes Element im Array anwenden und ein neues Array zurückgeben. Diese beiden Funktionen können problemlos auf mehrdimensionale Arrays angewendet werden. Die spezifische Implementierung lautet wie folgt:

/**
 * 判断是否为二维数组
 * @param $arr 待判断的数组
 * @return bool
 */
function is_two_dimen_array($arr){
    //筛选该数组中元素不是数组的元素
    $result = array_filter($arr,"is_array");
    //对筛选出的元素应用array_filter()函数,判断是否还存在不是数组的元素
    $result = array_map("is_array",$result);
    //如果存在该数组中的元素不是数组,返回false,否则返回true
    return !(bool)array_sum($result);
}

//测试
$array = array(array(1,2),array(3,4));
var_dump(is_two_dimen_array($array)); //输出bool(true)
Nach dem Login kopieren

Im obigen Code verwenden wir zuerst die Funktion array_filter(), um das Array zu filtern, wobei alle Array-Elemente übrig bleiben, die die Bedingungen der Funktion is_array() erfüllen, und verwenden dann array_map() Funktion, um sie zu beurteilen. Wenn es ein Element gibt, das kein Array ist, ist das entsprechende Element in der Ergebnismenge falsch, andernfalls ist es wahr. Verwenden Sie abschließend die Funktion array_sum(), um die Ergebnismengen hinzuzufügen. Wenn das Ergebnis gleich 0 ist, geben Sie true zurück, andernfalls geben Sie false zurück.

Zusammenfassend lässt sich sagen, dass mit den beiden oben genannten Methoden leicht festgestellt werden kann, ob ein Array ein zweidimensionales Array ist. In der tatsächlichen Entwicklung können wir je nach Situation die geeignete Methode auswählen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob es sich in PHP um ein zweidimensionales Array handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage