LINQ表达式?

Ron*_*újo 11 php linq

有没有办法在PHP中使用LINQ表达式?例如,在C#中我可以执行以下操作:

List<string> names = new List<string>()
{
    "Francisco",
    "Ronald",
    "Araújo",
    "Barbosa"
};

var oneName = names.Where(x => x.Equals("Ronald")).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

在PHP中,我将如何执行以下操作?

names **.Where** (x => x.Equals("Ronald")) **.FirstOrDefault()**;
Run Code Online (Sandbox Code Playgroud)

huy*_*itw 29

有一些PHP库可以模仿LINQ的功能.例如:

在PHPLinq中,代码如下所示:

$names = array("Francisco", "Ronald", "Araújo", "Barbosa"); 
$oneName = from('$name')->in($names)
            ->where('$x => $x == "Ronald"')
            ->firstOrDefault('$name');
Run Code Online (Sandbox Code Playgroud)

或者使用PINQ,它采用PHP 5.3+封闭的不同方法:

$oneName = \Pinq\Traversable::from($names)
            ->where(function ($x) { return $x == 'Ronald'; })
            ->first();
Run Code Online (Sandbox Code Playgroud)