Sac*_*dra 3 php arrays zend-framework
当具有私有变量的对象已经在php中转换(强制转换)为数组时,将启动数组元素键
*_
.如何删除数组键开头的"*_"?
例如
class Book {
private $_name;
private $_price;
}
Run Code Online (Sandbox Code Playgroud)
铸造后的阵列
array('*_name' => 'abc', '*_price' => '100')
Run Code Online (Sandbox Code Playgroud)
我想要
array('name' => 'abc', 'price' => '100')
Run Code Online (Sandbox Code Playgroud)
我是这样做的
class Book {
private $_name;
private $_price;
public function toArray() {
$vars = get_object_vars ( $this );
$array = array ();
foreach ( $vars as $key => $value ) {
$array [ltrim ( $key, '_' )] = $value;
}
return $array;
}
}
Run Code Online (Sandbox Code Playgroud)
当我想将书籍对象转换为数组时,我调用了toArray()函数
$book->toArray();
Run Code Online (Sandbox Code Playgroud)