Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组值转换为逗号分隔的字符串,数字替换为'';_Php_String - Fatal编程技术网

Php 将数组值转换为逗号分隔的字符串,数字替换为'';

Php 将数组值转换为逗号分隔的字符串,数字替换为'';,php,string,Php,String,我的阵列: $numbers = array(1, 3, 5); 简单地说,我需要用?问号和分隔的和,逗号来更改数字 // Output (array has 3 items): $string = '?, ?, ?'; 使用函数内爆 $numbers = array(1, 3, 5); $string = implode(", ", $numbers); echo $string; 使用函数内爆 $numbers = array(1, 3, 5); $string = implode(

我的阵列:

$numbers = array(1, 3, 5);
简单地说,我需要用
问号和分隔的
逗号来更改数字

// Output (array has 3 items): 
$string = '?, ?, ?';
使用函数内爆

$numbers = array(1, 3, 5);
$string = implode(", ", $numbers);
echo $string;
使用函数内爆

$numbers = array(1, 3, 5);
$string = implode(", ", $numbers);
echo $string;

您可以使用和的组合。然后使用清除尾随逗号:

$numbers = array(1, 3, 5);
$str = str_repeat('?, ', count($numbers));
$str = rtrim($str, ', ');
echo $str;

// output: ?, ?, ? 

您可以使用和的组合。然后使用清除尾随逗号:

$numbers = array(1, 3, 5);
$str = str_repeat('?, ', count($numbers));
$str = rtrim($str, ', ');
echo $str;

// output: ?, ?, ? 
一个班轮的乐趣:

echo implode(", ", array_map(function($v){ return "?"; }, $numbers));
一个班轮的乐趣:

echo implode(", ", array_map(function($v){ return "?"; }, $numbers));
可能是吗

$arr= array(1,2,3);
echo wordwrap(sprintf("%'?".count($arr)."s",'' ), 1, ", ", true);
编辑用于:

$arr= array(1,2,3);
$max = count($arr);
for($i=0;$i<$max;$i++){
   echo '?',(($i==($max-1))?'':', ');
}
$arr=数组(1,2,3);
$max=计数($arr);
对于($i=0;$i可能是什么

$arr= array(1,2,3);
echo wordwrap(sprintf("%'?".count($arr)."s",'' ), 1, ", ", true);
编辑用于:

$arr= array(1,2,3);
$max = count($arr);
for($i=0;$i<$max;$i++){
   echo '?',(($i==($max-1))?'':', ');
}
$arr=数组(1,2,3);
$max=计数($arr);

对于($i=0;$iconflued,但我认为您可能希望内爆()混淆,但我认为您可能希望内爆()混淆你的输出:
1,3,5
。但是我需要像这样用问号来改变数字:
?,,?
你的输出:
1,3,5
。但是我需要像这样用问号来改变数字:
?,,,,?
这也是一个很好的答案,但我认为webbiedave的答案更好,因为str_repeat和count的组合。这是一个good也会回答,但随着数组变大,它将比使用简单字符串创建(str_repeat)慢得多因为它必须创建一个全新的数组。这也是一个很好的方法,但webbiedave的答案更好,因为str_repeat和count的组合。这也是一个很好的答案,但随着数组变大,它将比使用简单的字符串创建(str_repeat)慢得多因为它必须创建一个全新的数组。它同样有效,但您使用的是sprintf()。我认为不比count和str_repeat好。谢谢您!它同样有效,但您使用的是sprintf()。我认为不比count和str_repeat好。谢谢您!