PHP:SQL 查询数组的最佳方法是什么? (如果你可以的话)

标签 php mysql arrays

考虑一下:

一个 mySQL 数据库,其中包含表、行和数据。

具有相同数据的一个数组。

现在通常,我会对 mySQL SELECT * FROM 'table' WHERE name LIKE '%abc%'

进行这样的查询

但我想在数组上执行相同的查询,而不必插入它。想到的唯一方法是使用 array_search ,但语法不同,方法复杂。

这里有捷径吗?

最佳答案

您不能将 SQL 与数组一起使用,但是您可以执行示例的一种方法是使用 array_filter():

function like_abc($v) {
    return strstr($v['name'], 'abc') !== false;
}

$filtered = array_filter($yourArray, 'like_abc');

或者如果您使用的是 PHP >= 5.3.0

$filtered = array_filter($yourArray, 
    function($v) { return strstr($v['name'], 'abc') !== false;});

ideone 上查看实际效果


编辑:

你也可以试试PHPLinq :

// UNTESTED CODE!
$yourArray = array (
    array('name' => 'abcd', 'age' => 20),
    array('name' => 'dacb', 'age' => 45),
    array('name' => 'aadd', 'age' => 32),
    array('name' => 'babc', 'age' => 11),
    array('name' => 'afgb', 'age' => 17),
);

$result = from('$people')->in($yourArray)
            ->where('$people["name"] => strstr($people["name"], "abc") !== false')
            ->select('$people'); 

关于PHP:SQL 查询数组的最佳方法是什么? (如果你可以的话),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539106/

相关文章:

php - 我可以轻松地使用所有当前设置重新编译 PHP 并使用新配置启用 SOAP 吗?

mysql - 由于 COUNT 查询导致的 Amazon RDS CPU 利用率

php - 如何优化 Wordpress wp_usermeta 表?

mysql - 什么时候将列从主表移到辅助表中是个好主意?

c++ - 图实现的邻接矩阵中的数组 vector 错误

c++ - 不能交换数组元素c++

Java - 检查变量是否等于任何数组元素

php - 使用 Jquery 和 Ajax 更新表

php - mysql查询和输出

php - 使用PHP播放声音