我一直在尝试将两个数据库查询合并为一个。现在我终于做到了(是的)。但是有一个问题使我无法完成这项任务。我敢打赌它真的很简单,但我似乎无法让它发挥作用。
我有一个数据库查询设置并且它有效。
$sql = "SELECT `guid` FROM `pf_posts` WHERE `id` IN (SELECT `meta_value`
FROM `pf_postmeta`
WHERE `meta_key` LIKE '_thumbnail_id'
AND `post_id` = $post_id)";
$result = mysqli_query($wp_database, $sql);
$images = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
foreach ($images as $image): ?>
<div>
<?php print_r($image); ?>
</div>
<?php endforeach; ?>
这为我提供了正确的值,但在 print_r
中为我提供了以下信息:
Array ( [guid] => http://mydomein.nl/wp-content/images-001.jpg )
但我想从 print_r 中删除 Array ( [guid] =>
和最后一个 )
部分。
我研究过字符串替换,但我不知道如何设置正确。我希望能够 echo
它。我从这里得到了数据库的代码:
How can I retrieve posts with featured images from a WordPress database if WordPress is no longer installed? [closed]
最佳答案
print_r
将打印参数的人类可读表示。在您的例子中,$image
是一个包含一个元素、键“guid”和值“http://mydomein.nl/wp-content/images-001.jpg”的数组
。
所以,您需要做的只是echo
您想要的元素:
<?php
foreach ($images as $image): ?>
<div>
<?php echo $image["guid"] ?>
</div>
<?php endforeach; ?>
关于PHP 数组值正确但显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46811378/