gpt4 book ai didi

php - 返回每个对象或一个 arrayCollection 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 00:28:43 25 4
gpt4 key购买 nike

public function getInvoiceItemsByType($type)
{
return $this->invoiceItems->filter(function ($invoice) use ($type) {
/** @var InvoiceItem $invoice */
return $invoice->getType() == $type;
}
);
}

public function getInvoiceItemsByType($type) {
foreach ($this->invoiceItems as $invoice) {
if ($invoice->getType() == $type) {
return $invoice;
}
}
return null;
}

这两个功能有区别吗?有人告诉我有一个,但我无法找到它的确切含义以及一个函数而不是另一个函数将如何影响我的代码

最佳答案

区别在于

return $this->invoiceItems->filter(function ($invoice) use ($type) {
/** @var InvoiceItem $invoice */
return $invoice->getType() == $type;
});

将返回匹配的所有项,或者在没有找到时返回空的 ArrayCollection。


同时

foreach ($this->invoiceItems as $invoice) {
if ($invoice->getType() == $type) {
return $invoice;
}
}
return null;

只会返回匹配 $invoice->getType() == $type 的数组的第一项,如果根本不存在则返回 null。

关于php - 返回每个对象或一个 arrayCollection 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50210668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com