11

PHP で LINQ 式を使用する方法はありますか? たとえば、C# では次のことができます。

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

var oneName = names.Where(x => x.Equals("Ronald")).FirstOrDefault();

そしてPHPでは、次のようなことをどのようにしますか?

names **.Where** (x => x.Equals("Ronald")) **.FirstOrDefault()**;
4

2 に答える 2

3

PHPLinq はお勧めしません。たとえLINQのように見えても、.NET で慣れ親しんだものではないからです。理由は次のとおりです。

  1. 呼び出しの順序は固定されています (結果は期待したものとは異なる場合があります)。
  2. それは本当に怠け者ではありません。

PHPLinq の長所は、データベースをサポートする PHPの唯一のLINQ 実装であることです。TimeToogo の PINQ もデータベースをサポートしていますが、これを書いている時点では、PINQ の唯一の LINQ プロバイダーは MySQL デモです。

コード内で配列とオブジェクトをクエリすることだけが必要な場合は、代わりにYaLinqoを使用する必要があります*。データベースのサポートが必要な場合、唯一のオプションは PHPLinq ですが、その制限に注意してください。十分な数の ORM や AR などがあるので、一般的なプロダクション対応の代替手段を使用することを強くお勧めします。

YaLinqo を使用した例:

$names = array("Francisco", "Ronald", "Araújo", "Barbosa"); 
$oneName = from($names)->where('$x ==> $x == "Ronald"')->firstOrDefault();

* YaLinqo は私によって開発されました。

于 2014-07-16T16:29:36.503 に答える