Php 将每个数组值转换为单个字符串

Php 将每个数组值转换为单个字符串,php,foreach,Php,Foreach,Im使用PHP从RSS提要输出类别信息: foreach(item_category()) as $category) { $source = $category->cat_name; echo $source.'.png'; } 其中,item\u category是一个类别名称数组。然后,我有一组对应的图像,我想针对每个项目显示 目前,我的输出如下所示: category1.pngcategory2.pngcategory3.png 但我需要: category

Im使用PHP从RSS提要输出类别信息:

foreach(item_category()) as $category) { 
    $source = $category->cat_name; 
    echo $source.'.png';
}
其中,
item\u category
是一个类别名称数组。然后,我有一组对应的图像,我想针对每个项目显示

目前,我的输出如下所示:

category1.pngcategory2.pngcategory3.png
但我需要:

category1category2category3.png
如何在字符串末尾出现一个文件扩展名来构造正确的文件名

foreach(item_category() as $category)
    $source .= $category->cat_name;
echo $source.'.png';
这应该是输出

cat1cat2cat3.png


快速的答案是把这条线

echo $source.'.png';

在foreach循环之外。

这里有一个不使用局部变量的替代解决方案

echo implode('', array_map(function($c){
    return $c->cat_name;
}, item_category()) . '.png';
(需要PHP>=5.3)

echo $source.'.png';
echo implode('', array_map(function($c){
    return $c->cat_name;
}, item_category()) . '.png';
foreach(item_category() as $category) { 
    echo $category->cat_name; 
}
echo '.png';