Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie ein Feld eines zweidimensionalen Arrays im Backend-PHP

So erhalten Sie ein Feld eines zweidimensionalen Arrays im Backend-PHP

PHPz
PHPzOriginal
2023-04-20 13:48:061258Durchsuche

In PHP werden zweidimensionale Arrays normalerweise als Sammlung zusammengehöriger Daten gespeichert. Für diese Art von Datenstruktur können Sie jedes Array-Element durchlaufen und dann den Array-Indexoperator verwenden, um auf den Wert jedes Elements zuzugreifen. Wenn Sie nur auf ein bestimmtes Feld zugreifen müssen, können Sie die Funktion array_column() verwenden oder eine Traversal-Funktion anpassen.

1. Verwenden Sie die Funktion array_column(). Die Funktion array_column() kann den Wert eines Felds im angegebenen Array abrufen und als neues Array zurückgeben. Die Parameterliste lautet wie folgt:

array_column(array $input, Mixed $column_key, Mixed $index_key = null): array

Parameterbeschreibung:

    $input: erforderlich, um das mehrdimensionale Array von Feldern zu erhalten.
  • $column_key: erforderlich, der zurückzugebende Schlüsselwert. Es kann eine Zeichenfolge sein, die angibt, dass der Wert dieses Schlüssels zurückgegeben werden soll. Es kann auch eine Zahl sein, die angibt, dass der Wert dieses Index zurückgegeben werden soll.
  • $index_key: Optional, die Spalte, die als Schlüssel des zurückgegebenen Arrays verwendet werden soll. Es kann eine Zeichenfolge sein, die angibt, dass der Wert dieser Spalte als Schlüssel verwendet werden soll. Es kann auch eine Zahl sein, die angibt, dass der Wert von $column_key als Schlüssel verwendet werden soll.
Das folgende Beispiel zeigt, wie Sie die Funktion array_column() verwenden, um das angegebene Feld im zweidimensionalen Array abzurufen:

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);
    
// 获取名字字段值
$names = array_column($data, 'name');
print_r($names); // 输出 ['Alice', 'Bob', 'Charlie']

// 获取id和名字作为键的新数组
$new_data = array_column($data, 'age', 'name');
print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]
2. Passen Sie eine Traversal-Funktion an

Wenn das abzurufende Feld keine feste Position hat, oder Sie müssen komplexe Vorgänge anpassen. Sie können dazu eine Durchlauffunktion anpassen. Das Folgende ist ein Beispielcode für eine Traversal-Funktion:

// 自定义一个遍历函数
function get_field_from_array($data,$field){
    $result = array();
    foreach($data as $item){
        if(array_key_exists($field,$item)){
            $result[] = $item[$field];
        }
    }
    return $result;
}

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);

// 获取名字字段值
$names = get_field_from_array($data,'name');
print_r($names); //输出 ['Alice', 'Bob', 'Charlie']

// 获取id字段值
$ids = get_field_from_array($data,'id');
print_r($ids); //输出 [1, 2, 3]
Mit den beiden oben genannten Methoden können Sie problemlos den angegebenen Feldwert im zweidimensionalen Array erhalten. Unabhängig davon, welche Methode verwendet wird, müssen Sie darauf achten, ob das eingehende Array-Format den Anforderungen der Funktion entspricht, um Fehler und Ausnahmen zu vermeiden, die durch ein falsches Array-Format verursacht werden.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie ein Feld eines zweidimensionalen Arrays im Backend-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