PHP将字符串转换为数组返回字符串

时间:2013-05-17 15:15:29

标签: php mysql arrays string

我从具有以下输出的查询中提取数据:     1     2     3     5

我正在将它转换为如下数组:     $string = explode("\n", $result);

我知道有一个显示以下内容的数组: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 )

现在我试图将该数组放回一个包含|的字符串中分隔符

    $test = "";    
    foreach($string as $key)
    {
    $test .= $key." | ";
    }

然而,我得到了测试的输出:

     | 5 |

可以解释为什么它没有显示我期望它显示的内容以及另一种方式如何生成单个字符串分隔符?

感谢

6 个答案:

答案 0 :(得分:7)

试试这个:

implode("|", $string)

答案 1 :(得分:7)

$string = implode(" | ", $result);

答案 2 :(得分:5)

我认为implode会是你想要的。

另外,为了评论你的代码无效的原因,我不确定。在ideone.com上查看此示例:http://ideone.com/rH3qbr。我复制了你的代码,我觉得它似乎正常工作,正如你所期望的那样。

<?php
$result = '1 2 3 4 5';
$string = explode(" ", $result);
$test = "";
foreach($string as $key) {
    $test .= $key." | ";
}
echo $test; // outputs 1 | 2 | 3 | 4 | 5 | 
?>

答案 3 :(得分:2)

为此,您需要join功能: http://es1.php.net/join

答案 4 :(得分:2)

如果$ string是数组,则可以使用implode将其转换为字符串 试试这个

$new_string = implode("|", $string);

答案 5 :(得分:1)

答案是爆炸式的(“\ r \ n”,$ result)但感谢您向我展示每个人的内幕功能