Answers:
unset($a->new_property);
这适用于数组元素,变量和对象属性。
例:
$a = new stdClass();
$a->new_property = 'foo';
var_export($a); // -> stdClass::__set_state(array('new_property' => 'foo'))
unset($a->new_property);
var_export($a); // -> stdClass::__set_state(array())
$o=(object)array('a','b','c'); (您必须将对象(返回)转换为数组,甚至只是简单地访问此类属性!)
object而不是array。;-)
array为an object?只是没有意义(即使PHP允许)。我不会对此发表评论,以掩饰和散布不良的编程习惯:)没有冒犯。
unset($o->{0});或$k = 0; unset($o->$k);。
如果要遍历对象,这也特别有用。
unset($object[$key])
较新版本的PHP引发致命错误,Fatal error: Cannot use object of type Object as array如@CXJ所述。在这种情况下,您可以改用方括号
unset($object{$key})
unset($object[$key])可以正常工作,unset($object->{$key})但不能正常工作(更精确地说,是unset($object['literal_key'])和unset($object->{'literal_key'}))。PS Hm,但是,在认为我正在编辑的对象是对象而不是数组时,我可能错了