Aktueller Standort: Startseite> Neueste Artikel> So bauen Sie ein Indexarray mit Array_filter () + arrray_values ​​() wieder auf.

So bauen Sie ein Indexarray mit Array_filter () + arrray_values ​​() wieder auf.

M66 2025-06-04

In PHP werden Arrays sehr häufig verwendete Datenstrukturen. Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir den leeren Wert des Arrays entfernen und den Array -Index wieder aufbauen müssen. Glücklicherweise bietet PHP Array_Filter () und Array_Values ​​() Funktionen, die uns helfen, diese Aufgabe einfach zu erfüllen.

1. Einführung in die Funktion array_filter ()

Die Funktion array_filter () wird verwendet, um Elemente in einem Array zu filtern. Standardmäßig entfernt Array_Filter () Elemente mit einem Wert von Falsch (wie Null , False , 0 , "" usw.). Diese Funktion gibt ein neues Array zurück, das alle Elemente im ursprünglichen Array enthält, die nicht falsch sind.

Beispielcode:

 $array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
print_r($filteredArray);

Ausgangsergebnis:

 Array
(
    [0] => 1
    [2] => 2
    [4] => 3
    [6] => 4
)

Wie oben gezeigt, beseitigt die Funktion array_filter () den Nullwert im Array, aber es wird den Index des Arrays nicht neu erstellt, was dazu führt, dass das zurückgegebene Array den Index des ursprünglichen Arrays noch beibehält.

2. Einführung in die Funktion array_values ​​()

Die Funktion array_values ​​() gibt ein neues Array aller Werte im Array zurück und indexiert sie neu. Normalerweise verwenden wir nach der Filterung des Arrays Array_Values ​​() , um das Array neu zu rücken.

Beispielcode:

 $array = [1, 0, 2, null, 3, '', 4];
$filteredArray = array_filter($array);
$reindexedArray = array_values($filteredArray);
print_r($reindexedArray);

Ausgangsergebnis:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

Durch die Verwendung von Array_Values ​​() haben wir den Index des Arrays erfolgreich wiederhergestellt und alle Nullwerte entfernen.

3. umfassendes Beispiel: Filtern Sie leere Werte und bauen Sie den Array -Index wieder auf

Wir können Array_Filter () und Array_Values ​​() kombinieren, um eine praktische Funktion zu erstellen, um Nullwerte in einem Array und einem erneuten Index zu filtern:

 function cleanAndReindexArray($array) {
    $filtered = array_filter($array); // Filter leere Werte
    return array_values($filtered);   // Reindex -Array
}

$array = [1, 0, 2, null, 3, '', 4];
$cleanedArray = cleanAndReindexArray($array);
print_r($cleanedArray);

Ausgangsergebnis:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

V.

Wenn Ihr Array URLs enthält und Sie den Domänennamen durch m66.net ersetzen müssen, können wir dies mit Array_Map () und regulären Ausdrücken tun.

Beispielcode:

 $array = [
    'https://example.com/page1',
    'http://test.com/page2',
    'https://anotherdomain.com/page3'
];

$replacedArray = array_map(function($url) {
    return preg_replace('/https?:\/\/([^\/]+)/', 'https://m66.net', $url);
}, $array);

print_r($replacedArray);

Ausgangsergebnis:

 Array
(
    [0] => https://m66.net/page1
    [1] => http://m66.net/page2
    [2] => https://m66.net/page3
)

Im obigen Beispiel haben wir preg_replace () verwendet, um den Domänennamen in der URL zu ersetzen und ihn in m66.net zu ändern.

Zusammenfassen