将foreach循环包装到div中不起作用[重复]

This question already has an answer here:

function news($newsarray) {
    $str='';

        '<div>foreach($newsarray as $value) 
        {
            $str.="<h3>{$value['title']}</h3>";
            $str.="<h4>{$value['content']}</h4>";
        }</div>'

    return $str;
    }
    echo news($newsarray);

I want to wrap it up the foreach loop into div, but it doesn't work, I know it is something with the escaping but I'm new in programming and I have hard times with the documentation. I've asked a similar question earlier, but I'm really confused, sorry for asking again.

on the localhost it says

Parse error: syntax error, unexpected title (T_STRING) in C:\xampp\htdocs ews ews.php on line 17

</div>

Try this:

function news($newsarray) { 
   $str='<div>';

   foreach($newsarray as $value) 
   {
       $str.="<h3>{$value['title']}</h3>";
       $str.="<h4>{$value['content']}</h4>";
   }
   $str.='</div>';

return $str;
}
echo news($newsarray);

Seems like you have your code placed in the string variable as well. Maybe this is what you were trying to do:

function news($newsarray) { 
    $str='<div>';

    foreach($newsarray as $value) {
        $str .= "<h3>{$value['title']}</h3>";
        $str .= "<h4>{$value['content']}</h4>";
    }

    $str .= '</div>';

    return $str;
} 

echo news($newsarray);