php:循环遍历数字列表

时间:2012-12-30 19:07:16

标签: php wordpress foreach

我有一个像这样的数组:

Array (
[0] => stdClass Object ( [ID] => 1 [user_id] => 1 [post_id] => 929,924,875,839,850,720,642,1109,917,935,911,1174,1173,1172,903,892,1189,865,1386 ) 
[1] => stdClass Object ( [ID] => 2 [user_id] => 75 [post_id] => 903,704,477,9,455 ) 
[2] => stdClass Object ( [ID] => 3 [user_id] => 78 [post_id] => 917,911 ) 
[3] => stdClass Object ( [ID] => 4 [user_id] => 80 [post_id] => 903,1109,642 )
)

我编写了一个foreach循环来循环遍历每个元素:

$apples = $wpdb->get_results("SELECT ID, user_id, post_id FROM table_name" );

foreach ( $apples as $apple ) 
    {
        $user_info = get_userdata($apple->user_id);
        $post_title = get_the_title($apple->post_id);

        echo '<ul><li>' . $user_info->user_login . '</li>';
        echo '<li>' . $post_title . '</li>';
        echo '</ul>';
    }

如何遍历[post_id]中找到的每个ID?现在它只显示[post_id]中第一个数字的标题。不过,我需要它来遍历每一个。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

类似的东西:

<?php
...
foreach( explode( ',', $apple->post_id ) as $post_id ) {
// Do your stuff
}

会做什么

答案 1 :(得分:0)

你可以尝试

foreach ( $apples as $apple ) {
    $user_info = get_userdata($apple->user_id);
    echo '<h4>' . $user_info->user_login . '<h4>';
    echo "<ul>";
    foreach ( explode(",", $apple->post_id) as $postID ) {
        printf('<li>%s</li>', get_the_title($postID));
    }
    echo '</ul>';
}