【问题标题】: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 我想取消设置属性!我想从对象中删除一些东西,但它仍然存在!

标签: php


【解决方案1】:
foreach ($programs as $property => $program) {
//                    ^-----------^ added
    if ($program->name == 'foo') {
        unset($programs->$property);
//                     ^---------^ added
    }
}

【讨论】:

  • 谢谢。它正在工作......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
  • 2011-02-05
相关资源
最近更新 更多