我有一个字符串" $TransactionId
"有了这个值:
string 'aa,' (length=2)
string 'bb,' (length=2)
string 'cc,' (length=2)
string 'dd,' (length=2)
string 'ee,' (length=2)
string 'ff,' (length=2)
我想将这些值合并为一个字符串,如下所示:
string 'aa','bb','cc','dd','ee','ff'
帮帮我!谢谢你。
编辑:
$TransactionId
来自Web服务的id响应,如下所示:
for($i=1;$i<=$num;$i++){
$TransactionId = $result->getTransactionId();
}
答案 0 :(得分:1)
var_dump
输出表明网络服务没有使用尾随逗号返回值
string 'ff,' (length=2)
应该说(length=3)
只需在循环中构建一个包含id的数组,然后使用逗号作为分隔符implode
for($i=1;$i<=$num;$i++){
$ids[] = $result->getTransactionId();
}
$finalString = implode(',',$ids);
print $finalString;
答案 1 :(得分:0)
如果您可以将字符串存储到数组中会更好:
$arr = array('aa', 'bb', 'cc', 'dd', 'ee', 'ff');
然后使用implode:
$string = implode(',', $arr);
答案 2 :(得分:0)
您可以使用函数
连接字符串并删除最后一个逗号<?php rtrim("'aa', 'bb', 'cc', 'dd', 'ee', 'ff',", ",") ?>
您也可以使用substr函数删除
<?php substr("'aa', 'bb', 'cc', 'dd', 'ee', 'ff',", 0, -1); ?>
答案 3 :(得分:0)
您的示例数据字符串。
$a='aa,';
$b='bb,';
$c='cc,';
$d='dd';
addStringsToArray()函数将接受任意数量的参数。 在函数中传递循环foreach参数/字符串并将它们推送到$ stringItems数组。
function addStringsToArray(){
/* Declare empty array */
$stringItems = array();
/** Returns the number of arguments passed to the function */
$numOfArgs = func_num_args();
/** Returns an array with all arguments passed to the function */
$listOfArgs = func_get_args();
/** Add strings to array */
for ($i = 0; $i < $numOfArgs; $i++) {
array_push($stringItems ,$listOfArgs[$i]);
}
// Returns array with items
return $stringItems;}
implode返回$ stringItems数组
echo implode(" ",addStringsToArray($a,$b,$c,$d));
您的输出:
aa, bb, cc, dd
OR
addStringsToString()函数将接受任意数量的参数。 循环函数中传递的foreach参数/字符串,并将它们添加到$ stringItems字符串。
function addStringsToString() {
$stringItems = "";
$numOfArgs = func_num_args();
$listOfArgs = func_get_args();
/** Add strings to string */
for ($i = 0; $i < $numOfArgs; $i++) {
$stringItems.=$listOfArgs[$i];
}
// Returns String
return $stringItems;
}
调用函数并返回$ stringItems字符串
echo addStringsToString($a,$b,$c,$d);
输出:
aa,bb,cc,dd