Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen PHP-Objekten und Arrays?

Was ist der Unterschied zwischen PHP-Objekten und Arrays?

藏色散人
藏色散人Original
2019-08-08 11:18:504128Durchsuche

Was ist der Unterschied zwischen PHP-Objekten und Arrays?

Was ist der Unterschied zwischen PHP-Objekten und Arrays?

Der Unterschied zwischen Objekten und Arrays in PHP

Objekte haben nicht nur Attribute, sondern auch Methoden; Objekte können Operationen an diesen Daten kapseln, Arrays dagegen weniger als.

Also: Wenn Sie lediglich Daten speichern, verwenden Sie Arrays, wenn Sie jedoch Operationen für diese Daten definieren möchten, ist die Verwendung von Objekten eher zu empfehlen!

Empfohlen: [PHP-Tutorial]

Beispiel:

Wenn Sie den zu manipulierenden Daten eine gemeinsame Methode hinzufügen möchten, zum Beispiel die Der Rückgabewert ist verschlüsselt oder andere Funktionen können zu diesem Zeitpunkt in Betracht gezogen werden, eine Klasse zu schreiben und bei der Rückgabe von Daten die entsprechende Methode des Objekts zu verwenden, um die gewünschten Daten abzurufen.

Wenn Sie aus Sicht des Framework-Designs und der Erweiterung weiterhin Objekte verwenden können, verwenden Sie Objekte, um die Erweiterung und Wartung zu erleichtern. Wenn beispielsweise überall in Ihrem Code Arrays verwendet werden, ändern sich eines Tages die von der Schnittstelle zurückgegebenen Daten und Sie müssen viele Änderungen vornehmen. Wenn Sie Objekte verwenden, ist der Änderungsaufwand geringer.

PHP-Arrays werden mithilfe von Hash-Tabellen implementiert und ihre Hinzufügungen und Löschungen können grundsätzlich in O(1) abgeschlossen werden.

Beim Durchlaufen von PHP-Arrays erfolgt die Durchquerung nach Schlüsselgröße, was langsamer ist als foreach.

Der foreach-Durchlauf von PHP-Arrays wird in der Reihenfolge der Einfügung durchlaufen, was der schnellste PHP-Array-Durchlauf ist.

Die zugrunde liegende Struktur von Array-Objekten

Was ist der Unterschied zwischen PHP-Objekten und Arrays?

Konvertierung von Array-Objekten

/**
 * 数组 转 对象
 *
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr) {
    if (gettype($arr) != 'array') {
        return;
    }
    foreach ($arr as $k => $v) {
        if (gettype($v) == 'array' || getType($v) == 'object') {
            $arr[$k] = (object)array_to_object($v);
        }
    }
 
    return (object)$arr;
}
 
/**
 * 对象 转 数组
 *
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj) {
    $obj = (array)$obj;
    foreach ($obj as $k => $v) {
        if (gettype($v) == 'resource') {
            return;
        }
        if (gettype($v) == 'object' || gettype($v) == 'array') {
            $obj[$k] = (array)object_to_array($v);
        }
    }
 
    return $obj;
}

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP-Objekten und Arrays?. 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
Vorheriger Artikel:Was bedeutet PHP?Nächster Artikel:Was bedeutet PHP?