小编sim*_*.ro的帖子

条件数组的第一个元素

我正在寻找一种优雅的方法来获取满足给定条件的数组的第一个(也是第一个)元素。

简单的例子:

输入:

[
    ['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)

我自己想出了几种解决方案:

  1. 遍历数组,检查条件并在找到时中断

  2. 使用array_filter施加条件并获取已过滤的第一个值:

    array_values(
        array_filter(
            $input, 
            function($e){
                return $e['value'] >= 200;
            }
        )
    )[0];
    
    Run Code Online (Sandbox Code Playgroud)

两者似乎都比较麻烦。有人有更清洁的解决方案吗?我是否缺少内置的php函数?

php array-filter

2
推荐指数
2
解决办法
950
查看次数

setter方法中void和self有什么区别

我开始使用理论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)

php

1
推荐指数
1
解决办法
66
查看次数

标签 统计

php ×2

array-filter ×1