我一直在尝试使用substr,rtrim,并且它会一直删除所有逗号。如果它没有显示出来的话。所以我基本上被困住了,需要一些帮助..会不会被批评。
if(is_array($ids)) {
foreach($ids as $id) {
$values = explode(" ", $id);
foreach($values as $value) {
$value .= ', ';
echo ltrim($value, ', ') . '<br>';
}
}
}
答案 0 :(得分:2)
我猜你正在尝试使用一系列空格分隔的id并将其展平为逗号分隔的id列表。
如果这是正确的,你可以这样做:
$arr = [
'abc def ghi',
'jklm nopq rstu',
'vwxy',
];
$list = implode(', ', explode(' ', implode(' ', $arr)));
echo $list;
输出:
abc, def, ghi, jklm, nopq, rstu, vwxy
答案 1 :(得分:0)
通过rtrim更改ltrim:
ltrim - 从字符串的开头删除空格(或其他字符)
rtrim - 从字符串末尾删除空格(或其他字符)
<?php
$ids = Array ( 1,2,3,4 );
$final = '';
if(is_array($ids)) {
foreach($ids as $id) {
$values = explode(" ", $id);
foreach($values as $value) {
$final .= $value . ', ';
}
}
echo rtrim($final, ', ') . '<br>';
echo substr($final, 0, -2) . '<br>'; //other solution
}
?>
答案 2 :(得分:0)
使用 trim()功能。
好吧,如果你有这样的字符串
$str="foo, bar, foobar,";
使用此代码删除最后一个逗号
<?Php
$str="foo, bar, foobar,";
$string = trim($str, " ,");
echo $string;
输出:foo,bar,foobar
答案 3 :(得分:0)
如果您的阵列看起来像;
[0] => 1,
[1] => 2,
[2] => 3,
...
以下内容应该足够(不是最佳解决方案);
$string = ''; // Create a variable to store our future string.
$iterator = 0; // We will need to keep track of the current array item we are on.
if ( is_array( $ids ) )
{
$array_length = count( $ids ); // Store the value of the arrays length
foreach ( $ids as $id ) // Loop through the array
{
$string .= $id; // Concat the current item with our string
if ( $iterator >= $array_length ) // If our iterator variable is equal to or larger than the max value of our array then break the loop.
break;
$string .= ", "; // Append the comma after our current item.
$iterator++; // Increment our iterator variable
}
}
echo $string; // Outputs "1, 2, 3..."