关于php:php-获取私有属性的值

33次阅读

共计 488 个字符,预计需要花费 2 分钟才能阅读完成。

最近要导入一下数据,要把一个我的项目的局部数据导入到另一个我的项目中

采纳 laravel 的 chunkById 段落查询方法,一次查问 2K,而后批量入库,因为这个表没啥改变,能够间接查问后导入

遇到的问题是,查问后的数据属性是一个数组,要手动组装下能力间接入库,字段有点多,试想能不能间接拿到这个属性数据而后丢到数组里间接入库

查问出的数据是这样


是公有属性

间接 (array)$value 后是这样

那么间接
$arrTemp[‘x00*x00attributes’] 应该就能够,试了下的确行

封装下:

public function getProtectedValue($obj, $name) {$array = (array)$obj;
    $prefix = chr(0).'*'.chr(0);
    return $array[$prefix.$name];
}

截图中 x00 对应的 ASCII 码为 0,用 chr 将 0 的 ASCII 码转换为字符串,即 chr(0)对应 ASCII 码为 x00,而后拼接下 * 就 OK

调整后的代码为

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

正文完
 0