我正在寻找一种优雅的方法来获取满足给定条件的数组的第一个(也是第一个)元素。
简单的例子:
输入:
[
['value' => 100, 'tag' => 'a'],
['value' => 200, 'tag' => 'b'],
['value' => 300, 'tag' => 'a'],
]
Run Code Online (Sandbox Code Playgroud)
条件: $element['value'] > 199
预期产量:
['value' => 200, 'tag' => 'b']
Run Code Online (Sandbox Code Playgroud)
我自己想出了几种解决方案:
遍历数组,检查条件并在找到时中断
使用array_filter施加条件并获取已过滤的第一个值:
array_values(
array_filter(
$input,
function($e){
return $e['value'] >= 200;
}
)
)[0];
Run Code Online (Sandbox Code Playgroud)两者似乎都比较麻烦。有人有更清洁的解决方案吗?我是否缺少内置的php函数?
我开始使用理论ORM映射系统。
setter函数中的void和self有什么区别?
空洞
/**
* @param string|null $firstname
*/
public function setFirstname(?string $firstname): void
{
$this->firstname = $firstname;
}
Run Code Online (Sandbox Code Playgroud)
和
自
/**
* @param string|null $firstname
*/
public function setFirstname(?string $firstname): self
{
$this->firstname = $firstname;
return $this
}
Run Code Online (Sandbox Code Playgroud)