foreach循环具有串联分配


<?php
$names =array('Alex','Billy','Tabby');
$names_str=null;
foreach($names as $key => $names)
{
    $names_str .= $name;
    if(key!= (count($names)-1))
    {
        $names_str.=', ';
    }
}
echo $names_str;
?>

为什么我们设置name_str = null?为什么我们将计数($ names-1(放置(该循环如何工作?

<?php
$names = array('Alex','Billy','Tabby');
$names_str = null;
foreach($names as $key => $names)
{
    $names_str .= $name;
    if(key != (count($names) - 1))
    {
        $names_str .=', ';
    }
}
echo $names_str;
?>

为什么我们设置$names_str = null

它是在循环之外初始化的。如果这是要返回的字符串,那么从技术上讲$names_str = "";,如果您希望显示默认值并且不进行某种空null/null检查...

为什么我们要放置count($names-1))

这检查了键#例如(0,1,2(针对数组减1的计数/长度(数组从0开始(,以查看我们是否参考数组中的最后一个键/值对,以确定字符串是否应显示当前值和下一个值。如果是最后一个值,我们不想在字符串的末尾显示"。

此循环如何工作?

$names_str .= $name;$name值与初始字符串相连,并在每个值之间放置逗号。请参阅上面关于计数。因此,您最终以"Alex, Billy, Tabby"作为$names_str的最终值。

做到这一点的更好方法是使用PHP的爆破函数:

$comma_separated = implode(",", $names);

这将为您提供相同的逗号分隔列表。

相关内容

  • 没有找到相关文章