取消设置循环内对象的当前属性[重复]
Posted
技术标签:
【中文标题】取消设置循环内对象的当前属性[重复]【英文标题】:Unset current property of an object inside a loop [duplicate] 【发布时间】:2013-06-12 03:36:57 【问题描述】:我觉得代码很明显:
foreach ($programs as $program)
if ($program->name == 'foo')
unset($program);
但它不起作用! 是否可以取消设置当前属性?问题出在哪里?有没有替代品?
【问题讨论】:
我的问题是关于对象而不是数组。$programs
是一个对象(如问题标题所示)还是一个对象数组(如代码所示)?
它是一个对象。我的代码中没有数组
你想达到什么目的?代码并不明显,您也没有说出在 unset() 调用后会发生什么。
@cebe 我想取消设置属性!我想从对象中删除一些东西,但它仍然存在!
【参考方案1】:
foreach ($programs as $property => $program)
// ^-----------^ added
if ($program->name == 'foo')
unset($programs->$property);
// ^---------^ added
【讨论】:
谢谢。它正在工作......以上是关于取消设置循环内对象的当前属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章
即使在设置 EnableDelayedExpansion [重复] 之后,也无法在批处理文件中的 for 循环内设置变量值