我想从wordpress上的post IDs获得所有的yesterday,当我在phpMyAdmin上尝试它时,它运行良好,它返回昨天的所有IDs。但是,当我试图从数组中回显IDs时,数组中的值是'Array‘而不是ID,后者应该是数字。我想知道为什么数组中的IDs都变成了“array”这个词。这就是我写的代码:
$yesterday = strtotime("-1 days");
$day = (int)date("d", $yesterday);
$month = (int)date("n", $yesterday);
$year = (int)date("Y", $yesterday);
$sql = "
SELECT ID
FROM wp_posts
WHERE 1 = 1
AND DAY(post_date) = $day
AND MONTH(post_date) = $month
AND YEAR(post_date) = $year
";
global $wpdb;
$results = $wpdb->get_results($sql, 'ARRAY_N');
foreach ($results as $id) {
echo '<br>' . $id;
}更新:我将输出类型更改为ARRAY_A,并在foreach循环之前添加了var_dump(),以查看数组中的内容,如下所示:

发布于 2017-07-26 05:12:05
使用ARRAY_A获得关联数组,而不是返回数字索引多维数组的ARRAY_N。代码中的$results是多维数组。使用var_dump()代替echo来查看变量内容(用于测试)
发布于 2017-07-26 05:13:16
根据这个answer,您应该在foreach循环中执行以下代码
foreach ($results as $result) {
echo '<br>' . $result->id;
}尝试打印$results并获取适当的对象。
https://stackoverflow.com/questions/45317890
复制相似问题