Heim  >  Artikel  >  Backend-Entwicklung  >  PHP entfernt leere Zeichenfolge aus Array

PHP entfernt leere Zeichenfolge aus Array

PHPz
PHPzOriginal
2023-05-05 20:48:06691Durchsuche

PHP ist eine leicht zu erlernende, serverseitige Skriptsprache mit offenem Quellcode, die in der Webentwicklung weit verbreitet ist, insbesondere bei der Entwicklung dynamischer Webanwendungen. In der PHP-Entwicklung ist das Betreiben von Arrays eine sehr häufige Operation. Bei der Verarbeitung von Arrays müssen wir jedoch häufig leere Zeichenfolgen aus dem Array entfernen. Im Folgenden erklären wir im Detail, wie man mit PHP leere Strings aus Arrays entfernt.

1. Was ist ein leerer String? In PHP bedeutet ein leerer String, dass der Inhalt des Strings, der durch die String-Variable dargestellt wird, leer ist. Er kann auch als Nullwert oder leerer String bezeichnet werden. Hier sind einige Beispiele:

$str1 = "";
$str2 = " ";
$str3 = null;

Unter diesen stellen $str1 und $str2 beide leere Zeichenfolgen dar und $str3 stellt einen Nullwert dar.

2. Leere Zeichenfolgen aus dem Array entfernen

In PHP können wir die Funktion array_filter() verwenden, um leere Zeichenfolgen aus dem Array zu entfernen. Die Funktion array_filter() verarbeitet jedes Element im eingehenden Array als Parameter der Rückruffunktion. Wenn die Rückruffunktion „true“ zurückgibt, wird das aktuelle Element beibehalten, andernfalls wird das aktuelle Element gelöscht. Basierend auf diesem Prinzip können wir mithilfe einer benutzerdefinierten Rückruffunktion leere Zeichenfolgen im Array herausfiltern. Das Folgende ist die spezifische Implementierungsmethode:

function removeEmpty($arr){
  foreach ($arr as $key => $value) {
    if(is_array($value)){//如果$value是数组则递归调用removeEmpty函数
      $arr[$key] = removeEmpty($value);
    }
    //以下处理字符串
    if(!is_array($value) && !mb_strlen(trim($value))){//如果$value是空字符串则删除
      unset($arr[$key]);
    }
  }
  return $arr;
}
$arr = array("a"=>"aaa", "b"=>"   ", "c"=>null, "d"=>"");
print_r(removeEmpty($arr));//输出结果:Array ( [a] => aaa ) 

Im obigen Code definieren wir die Funktion „removeEmpty()“. In dieser Funktion durchlaufen wir zunächst jedes Element im Array, um festzustellen, ob es sich um ein Array handelt ( )-Funktion, konvertieren Sie sie in ein Array, das keine leeren Zeichenfolgen enthält. Wenn das aktuelle Element eine Variable vom Typ String ist, verwenden Sie die Funktion trim(), um Leerzeichen an beiden Enden zu entfernen, und verwenden Sie die Funktion mb_strlen(), um die Länge des Strings zu berechnen. Wenn die Länge der Zeichenfolge 0 beträgt, bedeutet dies, dass diese Variable eine leere Zeichenfolge darstellt und wir sie aus dem Array löschen müssen. Schließlich gibt die Funktion „removeEmpty()“ ein Array mit entfernten leeren Zeichenfolgen zurück.

3. Praktische Anwendung

Nachfolgend verwenden wir einen praktischen Fall, um weiter zu veranschaulichen, wie PHP zum Entfernen leerer Zeichenfolgen aus Arrays verwendet wird.

Angenommen, wir haben ein Array von Produktinformationen, in dem die Werte einiger Elemente leere Zeichenfolgen oder Nullwerte sind:

$productInfo = [
   "id" => "001",
   "name" => "苹果 iPhone 12",
   "color" => "",
   "price" => 10999,
   "description" => null,
   "in_stock" => true
];

Wir müssen die leeren Zeichenfolgen oder Nullwerte in diesem Array entfernen. und dann das entfernte Array ausgeben. Wir können die obige Funktion „removeEmpty()“ verwenden, um diese Anforderung zu erfüllen:

$filteredArray = removeEmpty($productInfo);
print_r($filteredArray);//输出结果:Array ( [id] => 001 [name] => 苹果 iPhone 12 [price] => 10999 [in_stock] => 1 ) 

Im obigen Code übergeben wir das Array $productInfo als Parameter der Funktion „removeEmpty()“. Nachdem wir die leeren Zeichenfolgen und Nullwerte entfernt haben, erhalten wir Erstellt ein neues Array $filteredArray. Schließlich verwenden wir die Funktion print_r(), um das Array $filteredArray auszugeben und das Array nach dem Entfernen leerer Zeichenfolgen zu erhalten.

4. Zusammenfassung

In PHP ist das Entfernen leerer Zeichenfolgen aus Arrays eine sehr häufige Anforderung. Wir können die Funktion array_filter() und eine benutzerdefinierte Rückruffunktion verwenden, um diese Anforderung zu erfüllen. Die Verwendung dieser Technik kann unseren Code rationalisieren und effizienter machen und unerwartete Fehler vermeiden, die durch leere Zeichenfolgen verursacht werden.

Das obige ist der detaillierte Inhalt vonPHP entfernt leere Zeichenfolge aus Array. 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