我的阵列中爆炸的 Foreach 不起作用
Foreach from Explode in my Array doesn't work
我有爆炸问题,我的代码:
<?php
$the_genre = 'Drame, Action, Comédie';
$genre_explode = explode(',', $the_genre);
$sep = '';
foreach($genre_explode as $genre)
{
$genre = str_replace(' ', '', $genre);
$genre .= $sep.'<a href="/genre/'.$genre.'/">'.$genre.'</a>';
$sep = ', ';
}
echo $genre;
?>
我有这个:
Comédie, <a href="/genre/Comédie/">Comédie</a>
我想要这个:
<a href="/genre/Drame/">Drame</a>, <a href="/genre/Action/">Action</a>, <a href="/genre/Comédie/">Comédie</a>
有什么想法吗?
您正在连接在循环中分配的变量,因此结果您只输出了数组的最后一个元素。您可以使用此代码来实现您想要的:
$the_genre = 'Drame, Action, Comédie';
$genre_explode = explode(',', $the_genre);
$out = '';
foreach($genre_explode as $genre)
{
$genre = trim($genre);
$out .= '<a href="/genre/'.$genre.'/">'.$genre.'</a>, ';
}
echo $out;
你在错误的地方回显。将 echo 语句移动到循环中:
foreach($genre_explode as $genre)
{
$genre = str_replace(' ', '', $genre);
$genre .= $sep.'<a href="/genre/'.$genre.'/">'.$genre.'</a>';
$sep = ', ';
echo $genre;
}
这将 return:
Drame<a href="/genre/Drame/">Drame</a>Action, <a href="/genre/Action/">Action</a>Comédie, <a href="/genre/Comédie/">Comédie</a>
如果你在循环外回显,你只会得到 $genre
的 last 值这是一个有效的 EXAMPLE
编辑 - 附加信息
您也可以使用 trim()
:
而不是 str_replace()
$genre = trim($genre);
我有爆炸问题,我的代码:
<?php
$the_genre = 'Drame, Action, Comédie';
$genre_explode = explode(',', $the_genre);
$sep = '';
foreach($genre_explode as $genre)
{
$genre = str_replace(' ', '', $genre);
$genre .= $sep.'<a href="/genre/'.$genre.'/">'.$genre.'</a>';
$sep = ', ';
}
echo $genre;
?>
我有这个:
Comédie, <a href="/genre/Comédie/">Comédie</a>
我想要这个:
<a href="/genre/Drame/">Drame</a>, <a href="/genre/Action/">Action</a>, <a href="/genre/Comédie/">Comédie</a>
有什么想法吗?
您正在连接在循环中分配的变量,因此结果您只输出了数组的最后一个元素。您可以使用此代码来实现您想要的:
$the_genre = 'Drame, Action, Comédie';
$genre_explode = explode(',', $the_genre);
$out = '';
foreach($genre_explode as $genre)
{
$genre = trim($genre);
$out .= '<a href="/genre/'.$genre.'/">'.$genre.'</a>, ';
}
echo $out;
你在错误的地方回显。将 echo 语句移动到循环中:
foreach($genre_explode as $genre)
{
$genre = str_replace(' ', '', $genre);
$genre .= $sep.'<a href="/genre/'.$genre.'/">'.$genre.'</a>';
$sep = ', ';
echo $genre;
}
这将 return:
Drame<a href="/genre/Drame/">Drame</a>Action, <a href="/genre/Action/">Action</a>Comédie, <a href="/genre/Comédie/">Comédie</a>
如果你在循环外回显,你只会得到 $genre
的 last 值这是一个有效的 EXAMPLE
编辑 - 附加信息
您也可以使用 trim()
:
str_replace()
$genre = trim($genre);