PHP-将两个或多个具有类似子字符串的字符串连接在一起的最佳方法

PHP-将两个或多个具有类似子字符串的字符串连接在一起的最佳方法,php,string,concatenation,Php,String,Concatenation,我有一个字符串数组: array('name is required','email is required','email is not valid','ip is not valid') 将这些字符串连接成单个字符串的最佳方法是什么: name, email is required. email, ip is not valid 您正在寻找的函数称为inpode() 虽然我一开始没有回答这个问题,但你最好还是坚持这个问题。词法分析器不是简单错误消息输出所需的工具。这里我给出一个建议 &l

我有一个字符串数组:

array('name is required','email is required','email is not valid','ip is not valid')
将这些字符串连接成单个字符串的最佳方法是什么:

name, email is required. email, ip is not valid

您正在寻找的函数称为inpode()

虽然我一开始没有回答这个问题,但你最好还是坚持这个问题。词法分析器不是简单错误消息输出所需的工具。

这里我给出一个建议

<?php
define("DELIMITER", "is");
$a = array('name is required','email is required','email is not valid','ip is not valid');
foreach($a as $k=>$v){
    $arr = explode(DELIMITER, $v, 2);
    $subject = trim($arr[0]);
    $description = trim($arr[1]);
    $res[$description][] = $subject;
}
foreach($res as $k=>$v){
    echo implode(",", $v)." ".DELIMITER." ".$k.". ";
}
echo "\n";

它不会给出问题在其输出字符串中要求的标点符号,但这是正确的方法+啊,我现在明白了。他称之为“连接”。我的意思是,他在名称后有一个逗号,在第二个数组元素后有一个句号,然后是另一个逗号,依此类推:)我认为内爆不是解决方案。它只是从数组项生成字符串,而不是像我预期的那样生成字符串。这是一个非常有限的版本,仅限于提供的示例,如果你得到一个像“xx{delimiter}xx”这样的模型,这将很好地工作。如果没有,我很抱歉
<?php
define("DELIMITER", "is");
$a = array('name is required','email is required','email is not valid','ip is not valid');
foreach($a as $k=>$v){
    $arr = explode(DELIMITER, $v, 2);
    $subject = trim($arr[0]);
    $description = trim($arr[1]);
    $res[$description][] = $subject;
}
foreach($res as $k=>$v){
    echo implode(",", $v)." ".DELIMITER." ".$k.". ";
}
echo "\n";