【发布时间】:2011-03-02 07:35:48
【问题描述】:
由于以下对 Wordpress 数据库的查询,我在 PHP 中有一个数组:
SELECT * FROM wp_postmeta WHERE post_id = :id
我返回一个多维数组,如下所示:
Array ( [0] => Array ( [meta_id] => 380 [post_id] => 72 [meta_key] => _edit_last [meta_value] => 1 )
...等等
在此数组中查找特定键值对的最佳方法是什么?
例如,我如何定位 [meta_key] = event_name 所在的行,以便将同一行的 [meta_value] 值提取到 PHP 变量中?
我意识到我可以把它变成许多单独的 MySQL 查询。有没有人对连续执行 10 个 SQL 查询而不是搜索 10 次数组的效率有意见?我认为由于数组在内存中,这将是找到我需要的值的最快方法。
或者,是否有更好的方法从头开始查询数据库,以便我的结果集以更易于搜索的方式格式化?
【问题讨论】:
-
实际上,
mysql_query()将返回一个 MySQL Resource,而不是一个数组。您必须使用 MySQL 函数(例如mysql_fetch_array)来获取结果。 -
您自己构建结果数组还是从 Wordpress 函数中获取结果数组?
-
我正在使用 PHP PDO 进行查询,因此我可以使用参数。我不确定底层代码是什么样子的,但是对 pdo->fetchAll() 的调用会返回一个多维数组,该数组具有数字索引和关联索引。
标签: php mysql wordpress multidimensional-array