Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie eine bestimmte Datenspalte aus einem zweidimensionalen PHP-Array

So löschen Sie eine bestimmte Datenspalte aus einem zweidimensionalen PHP-Array

PHPz
PHPzOriginal
2023-04-25 17:36:161160Durchsuche

In PHP ist ein zweidimensionales Array eine sehr häufig verwendete Datenstruktur. Bei der Durchführung zweidimensionaler Array-Operationen ist es manchmal erforderlich, Daten in einer bestimmten Spalte zu löschen, und diese Situation kommt relativ häufig vor. Wie löscht man also die Daten einer bestimmten Spalte in einem zweidimensionalen PHP-Array? In diesem Artikel wird dies ausführlich vorgestellt.

Löschmethode eins: Verwenden Sie die foreach-Schleife, um eine bestimmte Spalte zu löschen.

In PHP können wir die foreach-Schleife verwenden, um das zweidimensionale Array zu durchlaufen und die angegebene Spalte während des Durchlaufvorgangs zu löschen. Die konkreten Ideen sind wie folgt:

1. Nehmen Sie jede Spalte des Arrays durch eine foreach-Schleife heraus.

2. Verwenden Sie die Unset-Funktion, um die angegebene Spalte zu löschen.

3. Ordnen Sie die gelöschten Spalten in einem Array neu an.

Codebeispiel:

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

foreach($arr as &$v){
    unset($v['name']);  //删除某一列
}
unset($v);  //重置$v的引用

print_r($arr);

Löschmethode zwei: Verwenden Sie die Funktion array_map, um eine bestimmte Spalte zu löschen.

In PHP können wir auch die Funktion array_map verwenden, um eine bestimmte Spalte zu löschen. Die konkreten Ideen sind wie folgt:

1. Verwenden Sie die Funktion array_map, um jedes Element des Arrays (d. h. jede Zeile) zu bearbeiten und die angegebene Spalte zu löschen.

2. Strukturieren Sie das gelöschte Array in ein neues Array um.

Codebeispiel:

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

//回调函数:删除某一列
function delete_col($arr,$key){
    unset($arr[$key]);
    return array_values($arr);
}

$new_arr=array_map('delete_col',$arr,array_fill(0,count($arr),'name'));

print_r($new_arr);

Codebeschreibung: Die Funktion

array_map() dient dazu, eine Funktion für jedes Element des Arrays zurückzurufen und ein neues Array zurückzugeben. Hier ist unsere Rückruffunktion die Funktion delete_col(), die zwei Parameter akzeptiert: das Array und den Schlüssel der zu löschenden Spalte (d. h. der Namensspalte). Im Funktionskörper verwenden wir unset(), um die angegebene Spalte zu löschen, verwenden dann array_values(), um die Schlüssel des Arrays neu anzuordnen, und geben schließlich das neue Array zurück.

Löschmethode drei: Verwenden Sie die Funktion array_column, um eine bestimmte Spalte zu löschen.

In PHP können wir auch die Funktion array_column verwenden, um eine bestimmte Spalte zu löschen. Die konkreten Ideen sind wie folgt:

1. Verwenden Sie zunächst die Funktion array_column, um den Wert der angegebenen Spalte abzurufen.

2. Verwenden Sie die Funktion array_diff, um den erhaltenen Spaltenwert aus dem ursprünglichen Array zu löschen.

Codebeispiel:

$arr=array(
        array('id'=>1,'name'=>'张三','age'=>18),
        array('id'=>2,'name'=>'李四','age'=>19),
        array('id'=>3,'name'=>'王五','age'=>20)
);

$column=array_column($arr,'name');  //获取指定列
$new_arr=array_map(function($v) use($column){
    return array_diff_key($v,$column);   //删除指定列
},$arr);

print_r($new_arr);

Codebeschreibung: Die Funktion

array_column() gibt eine angegebene Spalte im Array zurück. Daher wird im $column-Array die Namensspalte im zweidimensionalen Array gespeichert. Dann verwenden wir die Funktion array_map, um das ursprüngliche Array zu durchlaufen, verwenden die Funktion array_diff_key, um die angegebene Spalte aus dem ursprünglichen Array zu löschen und schließlich das neue Array zurückzugeben.

Zusammenfassung

Für den Vorgang des Löschens einer Spalte in einem zweidimensionalen PHP-Array können wir die foreach-Schleife, die Funktion array_map oder die Funktion array_column verwenden, um dies zu erreichen. Im tatsächlichen Betrieb können wir je nach Szenario die geeignete Methode auswählen, um effiziente und einfache Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonSo löschen Sie eine bestimmte Datenspalte aus einem zweidimensionalen PHP-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