Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein Objektarray in PHP

So konvertieren Sie ein Objektarray in PHP

PHPz
PHPzOriginal
2023-04-23 10:05:53484Durchsuche

In der PHP-Entwicklung bezieht sich Objektarray normalerweise auf eine Sammlung von Objekten, die verschiedene Attribute und Daten enthalten. Diese Objekte können als Klassen definierte Instanzen oder Ergebnismengen sein, die von Datenbankabfrageanweisungen zurückgegeben werden. In einigen Fällen müssen wir diese Objektarrays zur einfacheren Bedienung und Übertragung in normale Arrays konvertieren. In diesem Artikel wird detailliert vorgestellt, wie PHP die Konvertierung von Objektarrays implementiert.

1. Objektarray in PHP

In PHP kann die Implementierung eines Objektarrays variiert werden.

  1. Array-Objekt

Array-Objekt ist eine als Array definierte Objektvariable. Zwischen diesen Objekten besteht keine Klassenbeziehung. Definieren wir zum Beispiel unten ein Array-Objekt:

$user1 = array(
    'id' => 1,
    'username' => 'user1',
    'email' => 'user1@example.com'
);

$user2 = array(
    'id' => 2,
    'username' => 'user2',
    'email' => 'user2@example.com'
);

$users = array($user1, $user2);

Im obigen Code definieren wir zwei Array-Objekte $user1 bzw. $user2 und verwenden die Funktion array(), um sie in ein Array $users aufzunehmen.

  1. Klassenobjekte

Klassenobjekte sind Objekte, die eine Klasse definieren. Diese Objekte haben eine Vererbungsbeziehung mit der Klasse und können die Eigenschaften und Methoden der Klasse verwenden. Im Folgenden definieren wir beispielsweise eine Benutzerklasse und erstellen mehrere Objekte dieser Klasse:

class User {
    public $id;
    public $username;
    public $email;
    
    public function __construct($id, $username, $email) {
        $this->id = $id;
        $this->username = $username;
        $this->email = $email;
    }
}

$user1 = new User(1, 'user1', 'user1@example.com');
$user2 = new User(2, 'user2', 'user2@example.com');
$users = array($user1, $user2);

Im obigen Code definieren wir eine Benutzerklasse und verwenden die Funktion __construct(), um zwei $user1- und $user2-Objekte dieser Klasse zu erstellen und Fügen Sie es mit der Funktion array() in ein Array $users ein.

  1. Datenbank-Ergebnismengenobjekt

Das Datenbank-Ergebnismengenobjekt ist das Datenergebnis, das mithilfe einer Abfrageanweisung aus der Datenbank abgerufen wird. Das Ergebnis ist ein Array ähnlicher Objekte. Im Folgenden verwenden wir beispielsweise die mysqli-Methode, um die Datenbank abzufragen und das Ergebnismengenobjekt abzurufen:

$conn = new mysqli($servername, $username, $password, $dbname);

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

$users = array();
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $user = new User($row["id"], $row["username"], $row["email"]);
        array_push($users, $user);
    }
}

Im obigen Code verwenden wir die mysqli-Methode, um die Datenbank abzufragen und das von ihr zurückgegebene Ergebnismengenobjekt dem $result zuzuweisen Variable, und dann verwenden wir die while-Schleife, um die Abfrageergebnisse in ein Objektarray der Benutzerklasse umzuwandeln.

2. Objektarray in gewöhnliches Array konvertieren

In einigen Fällen müssen wir Objektarray in gewöhnliches Array konvertieren, um den Betrieb und die Übertragung zu erleichtern. PHP verfügt über viele Funktionen zur Implementierung dieses Prozesses. Wir werden sie einzeln vorstellen.

  1. Verwenden Sie zum Konvertieren die Funktion json_encode.

Die Funktion json_encode ist eine mit PHP gelieferte Funktion, die Arrays, Objekte und andere Datentypen in Daten im JSON-Format konvertieren kann. Hier können wir das gewünschte normale Array erhalten, indem wir das Objektarray in Daten im JSON-Format konvertieren und dann die JSON-Daten in ein Array konvertieren. Hier ist ein Beispiel:

$json_users = json_encode($users);  //将对象数组转换为JSON格式数据
$users_arr = json_decode($json_users, true);  //将JSON格式数据转换为数组

Im obigen Code verwenden wir die Funktion json_encode, um das Objektarray $users in Daten im JSON-Format zu konvertieren und es der Variablen $json_users zuzuweisen. Als nächstes verwenden wir die Funktion json_decode, um die JSON-Formatdaten in der Variablen $json_users in ein assoziatives Array zu konvertieren und es der Variablen $users_arr zuzuweisen. Auf diese Weise enthält die Variable $users_arr die gewöhnliche Array-Form des Objektarrays $users.

  1. Verwenden Sie die Foreach-Schleifenkonvertierung

Die Foreach-Schleife kann uns dabei helfen, jedes Element im Array zu bearbeiten, und sie kann uns auch dabei helfen, ein Objektarray in ein normales Array zu konvertieren.

$users_arr = array();
foreach($users as $user) {
    $user_arr = array(
        'id' => $user->id,
        'username' => $user->username,
        'email' => $user->email
    );
    array_push($users_arr, $user_arr);
}

Im obigen Code durchlaufen wir jedes Element im Objektarray $users in einer foreach-Schleife, speichern seine Attribute und Daten in einem assoziativen Array $user_arr und verwenden die Funktion array_push, um jedes Array $user_arr zu $ ​​in hinzuzufügen das Array „users_arr“. Letztendlich ist das Array $users_arr ein gewöhnliches Array, das alle Daten im Objektarray $users enthält.

  1. Verwenden Sie die Funktion array_map zum Konvertieren.

Die Funktion array_map ist eine Funktion, die mit PHP geliefert wird. Sie wendet die angegebene Funktion auf jedes Element des Arrays an und gibt ein neues Array zurück. Hier ist ein Beispiel:

function obj_to_arr($obj) {
    $result = array();
    foreach ($obj as $key => $val) {
        if (is_object($val)) {
            $result[$key] = obj_to_arr($val);
        } else {
            $result[$key] = $val;
        }
    }
    return $result;
}

$users_arr = array_map('obj_to_arr', $users);

Im obigen Code definieren wir zunächst eine Funktion obj_to_arr, um das Objekt in ein Array umzuwandeln. Diese Funktion wendet das angegebene Objekt auf jedes Element im Array an und gibt ein neues Array zurück. Schließlich verwenden wir die Funktion array_map, um die Funktion obj_to_arr auf jedes Element im Objektarray $users anzuwenden und das Ergebnis dem Array $users_arr zuzuweisen.

3. Zusammenfassung

In der PHP-Entwicklung ist das Objektarray einer der häufigsten Datentypen, und seine Verarbeitung und Bedienung ist ein unverzichtbarer Bestandteil des Entwicklungsprozesses. In diesem Artikel stellen wir detailliert vor, wie man Objektarrays in PHP definiert, und bieten drei Möglichkeiten, sie in gewöhnliche Arrays umzuwandeln. Die oben genannten Methoden sind sehr einfach und leicht zu verstehen, und ich hoffe, dass sie für PHP-Entwickler hilfreich sein können.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objektarray in 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