【问题标题】:Query on PHP arrays查询 PHP 数组
【发布时间】:2013-01-13 10:07:36
【问题描述】:

考虑以下场景:您有一个小的 MogoDB 集合或一个小的 MySQL 表(例如包含 1000 条记录,它也可能是只读的),它在您的应用程序中被广泛且重复地使用。

您决定将其所有内容提取到 PHP 数组并使用该数组,而不是向 DB 发送大量查询。

在上述场景中,我们如何以类似于检索数据库表记录的有效方式检索一些数组项?用于阵列或任何其他类似设施的 PDO 适配器 ...

【问题讨论】:

标签: php arrays adapter


【解决方案1】:

有著名的 php 的 C# LINQ 库的端口。

它为您提供了灵活的 oo 接口来查询数据源。

http://phplinq.codeplex.com/wikipage?title=Examples&referringTitle=Home

简单示例

// Create data source
$names = array("John", "Peter", "Joe", "Patrick", "Donald", "Eric"); 

$result = from('$name')->in($names)
            ->where('$name => strlen($name) < 5')
            ->select('$name'); 
【解决方案2】:

虽然您可以结合使用 array_filter 和 php.net (http://pl1.php.net/manual/en/function.array-filter.php#87912) 提出的函数 niehztog,但我相信即使使用少量数据,您仍然会发现查询 db 比尝试使用数组更快处理。

请记住,MySQL 会缓存查询结果 - 因此您只需通过重复查询而不是磁盘来访问内存。

【讨论】:

    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多