Aktueller Standort: Startseite> Neueste Artikel> Anwendungsszenarien von Array_Change_key_Case () in Datenbankabfrageergebnissen

Anwendungsszenarien von Array_Change_key_Case () in Datenbankabfrageergebnissen

M66 2025-04-24

In PHP wird die Funktion array_change_key_case () verwendet, um den Fall aller Schlüssel in einem Array zu ändern. Es kann alle Schlüssel eines Arrays in Kleinbuchstaben oder Großbuchstaben standardmäßig in Kleinbuchstaben umwandeln. Diese Funktion kann eine sehr wichtige Rolle bei der Verarbeitung von Datenbankabfrageergebnissen spielen, insbesondere im mehrdimensionalen Array, das von der Abfrage zurückgegeben wird.

1. Rückgabeergebnisse der Datenbankabfrage

In der Regel ist das Ergebnis einer Datenbankabfrage ein mehrdimensionales Array, jedes Array-Element repräsentiert einen Datensatz, und der Schlüsselname jedes Datensatzes ist normalerweise der Name des Felds Datenbanktabelle. Wenn die Feldnamen der Datenbanktabellen unterschiedliche Fallformate (z. B. Benutzername , Benutzername , Benutzername usw.) verwenden, benötigen wir möglicherweise ein einheitliches Fallformat beim Zugriff auf diese Schlüssel, die Fehler oder Verwirrung vermeiden können.

Angenommen, Sie führen die folgende Abfrage in der Datenbank aus:

 $query = "SELECT UserName, EmailAddress FROM Users";
$result = mysqli_query($connection, $query);

Nach der Ausführung der Abfrage kann das Ergebnissatz wie folgt sein:

 Array(
    [0] => Array(
        [UserName] => 'john_doe',
        [EmailAddress] => 'john@example.com'
    ),
    [1] => Array(
        [UserName] => 'jane_doe',
        [EmailAddress] => 'jane@example.com'
    )
)

In diesem Ergebnis -Set -Array ist der Fall der beiden Schlüsselnutznamen und E -MailAddress inkonsistent. Wenn Sie den Fall von Feldnamen vereinen möchten, können Sie Array_Change_key_Case () verwenden, um dies zu erreichen.

2. Verwenden Sie Array_Change_key_Case (), um Abfragergebnisse zu verarbeiten

Die Funktion array_change_key_case () kann Ihnen helfen, den Fall von Tasten in Datenbankabfrageergebnissen schnell zu vereinen, wodurch sie bequemer und weniger anfällig für Fehler beim Zugriff auf diese Daten in Zukunft.

Wenn Sie beispielsweise alle Schlüssel in einem Array in Kleinbuchstaben konvertieren möchten, können Sie den folgenden Code verwenden:

 $result = mysqli_query($connection, $query);
$resultArray = mysqli_fetch_all($result, MYSQLI_ASSOC);

// Konvertieren Sie alle Schlüssel in Kleinbuchstaben
$resultArray = array_map(function($item) {
    return array_change_key_case($item, CASE_LOWER);
}, $resultArray);

// Das Ergebnis nach der Verarbeitung ausgeben
print_r($resultArray);

3. Ergebnisse

Nach der Vereinigung der Array -Tasten in Kleinbuchstaben wird das ursprüngliche Abfrageergebnis:

 Array(
    [0] => Array(
        [username] => 'john_doe',
        [emailaddress] => 'john@example.com'
    ),
    [1] => Array(
        [username] => 'jane_doe',
        [emailaddress] => 'jane@example.com'
    )
)

Wie Sie sehen können, wurden alle Schlüssel in Kleinbuchstaben umgewandelt, was Fehler oder Verwirrung vermeiden kann, die durch inkonsistenten Fall verursacht werden.

4. Anwendungsszenarien für den Austausch von URL -Domänennamen

Unter der Annahme, dass einige URLs im Abfrageergebnis (z. B. die Avatar -URL des Benutzers) enthalten sind, benötigen wir möglicherweise auch den Domänennamen der URL. Nehmen wir beispielsweise an, dass im Abfrageergebnis die folgenden Daten ähneln:

 Array(
    [0] => Array(
        [UserName] => 'john_doe',
        [AvatarURL] => 'http://oldsite.com/images/john.jpg'
    ),
    [1] => Array(
        [UserName] => 'jane_doe',
        [AvatarURL] => 'http://oldsite.com/images/jane.jpg'
    )
)

Möglicherweise möchten Sie den Domänennamen in der Avatar -URL durch einen neuen Domänennamen (z. B. M66.net ) ersetzen, damit Sie Array_Map () verwenden können, um die URL zu durchqueren, die jeden Datensatz verarbeitet:

 $result = mysqli_query($connection, $query);
$resultArray = mysqli_fetch_all($result, MYSQLI_ASSOC);

// Konvertieren Sie alle Schlüssel in Kleinbuchstaben并ersetzenURLDomain -Name
$resultArray = array_map(function($item) {
    $item = array_change_key_case($item, CASE_LOWER);

    // ersetzenAvatarURL的Domain -Name
    if (isset($item['avatarurl'])) {
        $item['avatarurl'] = str_replace('oldsite.com', 'm66.net', $item['avatarurl']);
    }

    return $item;
}, $resultArray);

// Das Ergebnis nach der Verarbeitung ausgeben
print_r($resultArray);

Nach der Verarbeitung wird die URL im Abfrageergebnis durch einen neuen Domainnamen ersetzt: