In der täglichen Entwicklung, insbesondere in Hintergrundverwaltungssystemen oder Datenanalyse -Plattformen, müssen wir häufig die ausgelasteten Daten verarbeiten, z. B. das Extrahieren der Daten aus einer bestimmten Spalte für weitere Vorgänge. In PHP ist Array_Column eine sehr praktische Funktion, die uns helfen kann, den Wert des angegebenen Schlüsselnamens aus einem zweidimensionalen Array schnell zu extrahieren und ein neues Indexarray zu bilden. In diesem Artikel werden tatsächliche Fälle kombiniert, um die Verwendung von Array_Column einzuführen, um bei der Verarbeitung von Paging -Daten schnell ID -Spalten zu extrahieren.
Angenommen, wir führen eine Schnittstellenentwicklung durch und müssen die PAGED-Listendaten an das Front-End zurückgeben. Die Daten stammen aus Datenbankabfrage, und das zurückgegebene Datenformat lautet wie folgt:
$users = [
['id' => 101, 'name' => 'Zhang San', 'email' => 'zhangsan@m66.net'],
['id' => 102, 'name' => 'Li Si', 'email' => 'lisi@m66.net'],
['id' => 103, 'name' => 'Wang Wu', 'email' => 'wangwu@m66.net'],
// ...Weitere Daten
];
Jetzt müssen wir die IDs aller Benutzer schnell aus dieser Stapel von Benutzerdaten extrahieren, damit sie für nachfolgende Operationen wie Schnittstellenaggregation, Batch -Abfrage usw. verwendet werden können.
Array_Column ist eine native Funktion, die von PHP bereitgestellt wird, und seine grundlegende Syntax lautet wie folgt:
array_column(array $input, mixed $column_key, mixed $index_key = null): array
In:
$ Eingabe : Das zweidimensionale Eingangsarray;
$ column_key : Der Spaltenname, der extrahiert werden muss;
$ index_key (optional): Wird als Spalte verwendet, die den Array -Index zurückgibt.
Wir müssen nur die ID -Spalte extrahieren, damit wir sie direkt wie folgt verwenden können:
$userIds = array_column($users, 'id');
print_r($userIds);
Ausgangsergebnis:
Array
(
[0] => 101
[1] => 102
[2] => 103
)
Auf diese Weise erhalten wir schnell eine Reihe von IDs [101, 102, 103] .
Wir wenden Array_Column auf den tatsächlichen Code einer Paging -Schnittstelle an und emulieren eine Schnittstelle, die Benutzer -Paging -Daten zurückgibt.
function getUserList($page = 1, $limit = 10) {
// Simulieren Sie die Datenbank -Paging -Abfrageergebnisse
$allUsers = [
['id' => 101, 'name' => 'Zhang San', 'email' => 'zhangsan@m66.net'],
['id' => 102, 'name' => 'Li Si', 'email' => 'lisi@m66.net'],
['id' => 103, 'name' => 'Wang Wu', 'email' => 'wangwu@m66.net'],
['id' => 104, 'name' => 'Zhao liu', 'email' => 'zhaoliu@m66.net'],
['id' => 105, 'name' => 'Sonne Qi', 'email' => 'sunqi@m66.net'],
// 假设还有Weitere Daten
];
$offset = ($page - 1) * $limit;
$pagedUsers = array_slice($allUsers, $offset, $limit);
// Extrakt ID Liste
$ids = array_column($pagedUsers, 'id');
return [
'data' => $pagedUsers,
'ids' => $ids,
'pagination' => [
'page' => $page,
'limit' => $limit,
'total' => count($allUsers)
]
];
}
// Testanruf
$result = getUserList(1, 3);
print_r($result);
Die Ausgangsergebnisse sind ungefähr wie folgt: