Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie den Wert eines privaten Attributs in PHP

So erhalten Sie den Wert eines privaten Attributs in PHP

藏色散人
藏色散人nach vorne
2021-02-11 09:12:192780Durchsuche

Verwenden Sie die Absatzabfragemethode chunkById von Laravel, fragen Sie jeweils 2 KB ab und übertragen Sie sie dann stapelweise in die Datenbank Die Tabelle wurde nicht geändert, Sie können sie direkt ändern. Das Problem, das nach dem Abfragen und Importieren auftritt, besteht darin, dass das Datenattribut nach dem Abfragen ein Array ist, das manuell zusammengestellt werden muss, bevor es direkt in der Datenbank gespeichert werden kann Stellen Sie sich vor, Sie könnten diese Attributdaten direkt abrufen und sie dann in das Array werfen und direkt in der Datenbank speichern.

Die abgefragten Daten sehen so aus (empfohlen: „

php-Video-Tutorial

“) ist ein privates Attribut directly (array)$value und dann so
So erhalten Sie den Wert eines privaten Attributs in PHP

so direct
$arrTemp['x00*x00attributes'] sollte es in Ordnung sein So erhalten Sie den Wert eines privaten Attributs in PHPEncapsulation:

public function getProtectedValue($obj, $name) {
    $array = (array)$obj;
    $prefix = chr(0).'*'.chr(0);
    return $array[$prefix.$name];
}
Der ASCII-Code, der x00 im Screenshot entspricht, ist 0. Verwenden Sie chr, um den ASCII-Code von 0 in eine Zeichenfolge umzuwandeln, die chr(0) entspricht. Der ASCII-Code ist x00, dann verketten Sie * und es ist OK


Die Anpassung Code ist

$arrTemp = $this->getProtectedValue($value, 'attributes');

Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Wert eines privaten Attributs in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen