Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie Arrays, die keine Ganzzahlen sind, in PHP

So entfernen Sie Arrays, die keine Ganzzahlen sind, in PHP

PHPz
PHPzOriginal
2023-04-26 14:20:08493Durchsuche

In PHP müssen wir manchmal ganzzahlige Elemente in einem Array bearbeiten. Wenn das Array jedoch Elemente vom nicht ganzzahligen Typ enthält, kann dies zu Fehlern bei nachfolgenden Berechnungsvorgängen führen. Daher müssen wir einen Weg finden, diese nicht ganzzahligen Elemente zu entfernen.

Im Folgenden werde ich verschiedene Methoden vorstellen, um diese Funktion zu erreichen.

Methode 1: Verwenden Sie die Funktion is_int() zum Filtern

Die Funktion is_int() kann bestimmen, ob eine Variable eine Ganzzahl ist. Wir können jedes Element im Array durchlaufen und mithilfe der Funktion is_int() ermitteln, ob es sich um einen Ganzzahltyp handelt. Wenn es sich um eine Ganzzahl handelt, fügen Sie sie dem neuen Array hinzu, andernfalls ignorieren Sie das Element.

Das Folgende ist ein Codebeispiel:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array();

foreach ($array as $value) {
    if (is_int($value)) {
        $new_array[] = $value;
    }
}

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [2] => 4 )

In diesem Beispiel definieren wir ein primitives Array $array, das Ganzzahlen, Zeichenfolgen und Gleitkommazahlen enthält. Durch Durchlaufen des Arrays verwenden wir die Funktion is_int(), um zu bestimmen, ob jedes Element ein Ganzzahltyp ist. Schließlich fügen wir alle ganzzahligen Elemente zum neuen Array $new_array hinzu.

Methode 2: Verwenden Sie die Funktion ctype_digit() zum Filtern

Zusätzlich zur Funktion is_int() stellt PHP auch eine Funktion ctype_digit() bereit, mit der ermittelt werden kann, ob eine Zeichenfolge nur numerische Zeichen enthält. Daher können wir das nicht ganzzahlige Element im Array in einen Zeichenfolgentyp konvertieren und dann mithilfe der Funktion ctype_digit () feststellen, ob es sich um einen ganzzahligen Typ handelt.

Das Folgende ist ein Codebeispiel:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array();

foreach ($array as $value) {
    if (ctype_digit(strval($value))) {
        $new_array[] = (int) $value;
    }
}

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [2] => 4 )

In diesem Beispiel konvertieren wir zuerst jedes Element im Array in einen String-Typ und verwenden dann die Funktion ctype_digit(), um zu bestimmen, ob es ein Integer-Typ ist. Wenn es sich schließlich um einen Integer-Typ handelt, wird er in einen Integer-Typ konvertiert und dem neuen Array $new_array hinzugefügt.

Methode 3: Verwenden Sie die Funktion array_filter() zum Filtern

PHPs integrierte Funktion array_filter() kann die Elemente im Array filtern und ein neues Array zurückgeben. Mit dieser Funktion können wir schnell nicht ganzzahlige Elemente aus einem Array entfernen.

Das Folgende ist ein Codebeispiel:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array_filter($array, 'is_int');

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [5] => 4 )

In diesem Beispiel verwenden wir direkt die Funktion array_filter(), um die Elemente im Array zu filtern und die Elemente vom Typ Integer beizubehalten. Beachten Sie, dass diese Funktion nur die Werte der Elemente behält, nicht ihre vorherigen Indizes.

Zusammenfassung

Die oben genannten Möglichkeiten sind mehrere Möglichkeiten, nicht ganzzahlige Elemente aus einem Array zu entfernen. Verschiedene Methoden eignen sich für unterschiedliche Situationen und müssen entsprechend der tatsächlichen Situation ausgewählt werden. Wenn Sie die Funktionen is_int() und ctype_digit() verwenden, müssen Sie auf Probleme bei der Typkonvertierung achten. Wenn Sie die Funktion array_filter() verwenden, müssen Sie auf die Änderung der Elementindizes achten. Die Beherrschung dieser Methoden kann uns helfen, die ganzzahligen Elemente im Array effizienter zu verarbeiten.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Arrays, die keine Ganzzahlen sind, in PHP. 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