1

我正在从具有以下输出的查询中提取数据: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 |

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

谢谢

4

6 回答 6

7

尝试这个:

implode("|", $string)
于 2013-05-17T15:17:08.740 回答
7

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

于 2013-05-17T15:17:22.323 回答
5

我认为内将是您正在寻找的。

另外,要评论为什么您的代码不起作用,我不确定。在 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 | 
?>
于 2013-05-17T15:17:17.517 回答
2

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

于 2013-05-17T15:17:24.763 回答
2

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

$new_string = implode("|", $string);
于 2013-05-17T15:21:14.900 回答
1

答案是 explode("\r\n", $result) 但感谢大家向我展示了内爆函数

于 2013-05-17T15:38:39.947 回答