我有一个像这样的数组:
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]
中第一个数字的标题。不过,我需要它来遍历每一个。有什么想法吗?
答案 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>';
}