将每个单独的数组数据包装在自己的div中

I am running into a problem with an imploding list. The data is correct, but I cannot figure out how to put it into a format to where each result (piece of data) is wrapped into the div I am attempting to surround it with:

$pending_friend_list = '<div class="pending-friend-list-row">'. implode($friends_pending_arr) . '</div>';

I am wanting it to appear like this:

<div class="pending-friend-list-row">1</div>

<div class="pending-friend-list-row">2</div>

<div class="pending-friend-list-row">3</div>

All this is doing now is putting all of the imploded data into one div like, <div class="pending-friend-list-row">123</div>

Any ideas?

Full code:

$friends_pending_arr = array();
    $friends_pending_sql = "
        SELECT *
        FROM friends
        WHERE friend_two = ?
        AND status = ?
    ";
    $pending_friend_count_stmt = $con->prepare($friends_pending_sql);
    $pending_friend_count_stmt->execute(array($user_id, $status_one));
    $pending_friend_rows = $pending_friend_count_stmt->fetchAll(PDO::FETCH_ASSOC);
    echo '<div id="pending-request_count">Total Pending Friends -' . $total_pending_count . '</div>';
    foreach ($pending_friend_rows as $pending_friend_row) {
        $pending_friend_1           = $pending_friend_row['friend_one'];
        $pending_friend_2           = $pending_friend_row['friend_two'];
        $pending_friend_status      = $pending_friend_row['status'];
        $pending_friend_status_date = $pending_friend_row['date'];
        $total_pending_friends      = $pending_friend_1 . "<br>" . $pending_friend_2;

        if ($pending_friend_2 == $user_id) {
             $friends_pending_arr[] = $pending_friend_1;
        }
    }
    //echo implode("<br>",$friends_pending_arr);
    //$pending_friend_list = implode("<br>",$friends_pending_arr);
    $pending_friend_list = '<div class="pending-friend-list-row">'. implode($friends_pending_arr) . '</div>';
    echo $friend_status_button . "<br>";
    echo $profile_viewer_message;
?>
    <div id="main">
        <div id="pending-friend-list-container">
            <div id="pending-friend-list-summary">
                <?php //echo '<div class="pending-friend-list-row">'. $pending_friend_list . '</div>';
                    echo $pending_friend_list;
                ?>
            </div>

CSS

.pending-friend-list-row {
    height: 50px;
    width: 100%;
    border: 1px solid green;
    background: gray;
}

You want your glue to end one div and start the next like this:

$pending_friend_list = '<div class="pending-friend-list-row">'. implode('</div><div class="pending-friend-list-row">', $friends_pending_arr) . '</div>';

More on how to use glue with implode

You can put your html in a variable during the foreach loop and print it later, like this

$output = '';
foreach ($pending_friend_rows as $pending_friend_row) {
    $pending_friend_1           = $pending_friend_row['friend_one'];
    $pending_friend_2           = $pending_friend_row['friend_two'];
    $pending_friend_status      = $pending_friend_row['status'];
    $pending_friend_status_date = $pending_friend_row['date'];
    $total_pending_friends      = $pending_friend_1 . "<br>" . $pending_friend_2;

    if ($pending_friend_2 == $user_id) {
         $pending_friend_list .= <div class="pending-friend-list-row">'. $pending_friend_1 . '</div>'
    }

}

You can now echo $pending_friend_list wherever you want.

echo $friend_status_button . "<br>";
echo $profile_viewer_message;
?>
<div id="main">
    <div id="pending-friend-list-container">
        <div id="pending-friend-list-summary">
            <?php echo $pending_friend_list;?>
        </div>

hope it helps

$myArray = ['foo', 'bar', 'baz'];

$output = implode("
", array_map(
    function($a){ return sprintf('<div class="divvy-div">%s</div>', $a); },
    $myArray
));

echo $output;

Output:

<div class="divvy-div">foo</div>
<div class="divvy-div">bar</div>
<div class="divvy-div">baz</div>

http://php.net/manual/en/function.array-map.php