2017-10-18 92 views
1

我一直在试图将两个数据库查询合并为一个。现在我终于完成了这个(耶)。但是有一个问题使我无法完成这项任务。我敢打赌它非常简单,但我似乎无法让它起作用。PHP数组值正确,但无法正确显示

我有一个数据库查询设置,它的工作原理。

$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) 

但我想删除Array ([guid] =>最后)部分从print_r的。

我已经看过字符串替换,但我不知道如何设置正确。我想能够echo吧。我从这里得到了数据库的代码: How can I retrieve posts with featured images from a WordPress database if WordPress is no longer installed? [closed]

+0

哦,天哪你是我的英雄!最后! –

回答

4

print_r将打印出一个可读的参数表示。在你的情况下,$image是一个array与一个元素,键“guid”和值“http://mydomein.nl/wp-content/images-001.jpg”。

所以,你需要做的仅仅是echo你想要的元素:

<?php 
foreach ($images as $image): ?> 
    <div> 
      <?php echo $image["guid"] ?> 
    </div>  
<?php endforeach; ?> 
0

你可以试试这个:

<?php print_r($image['guid']); ?>