php - 导致对象实例化的 Foreach 循环

标签 php oop object foreach instantiation

我有一个要求,即从一个表中接受一组选中的项目,并根据已选择的项目更新一个字段。最初我的想法是简单地遍历数组中的每一项并访问特定类中的函数来更新状态。

我有点担心这种方法,因为它意味着为循环的每次迭代实例化一个对象以更新相关状态。

foreach($example as $exampleId){
    $newExample=new Example($exampleId);
    $newExample->updateStatus('active');
}

有没有更好的方法解决这个问题?这似乎是不好的做法,但我正在努力寻找替代方法。

最佳答案

这是一个选项吗?

$newExample=new Example();
foreach($example as $exampleId){
    $newExample->updateStatus($exampleId,'active');
}

否则你总是可以这样做:

foreach($example as $exampleId){
    $newExample=new Example($exampleId);
    $newExample->updateStatus('active');
    $newExample->__destruct(); 
    unset($newExample);
}

为此你需要在你的类中使用另一个方法

$newExample=new Example();
foreach($example as $exampleId){
    $newExample->set_example_id($exampleId);
    $newExample->updateStatus('active');
}

关于php - 导致对象实例化的 Foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3388269/

相关文章:

javascript - 通过 echo PHP 查找 deezer API 图稿

java - ArrayList 的 contains() 方法如何评估对象?

php - 序列化复选框数组,也得到有关闭值的复选框

php - PHP 中读取请求的向后兼容性

java - 为什么这个方法不使用对象的任何属性?

java - 从 Java 中的通用静态方法获取类名

java - 如何将 GUI 添加到已编写的代码中?

javascript - 循环对象列表未正确显示

java - 在运行时(调试时)比较 eclipse 中的 2 个对象?

PHP mysqli_connect : authentication method unknown to the client [caching_sha2_password]