将数组值转换为逗号分隔的字符串,数字替换为“?”

时间:2011-05-10 22:22:27

标签: php string

我的阵列:

$numbers = array(1, 3, 5);

简单地说,我需要使用?问号更改数字,并使用,逗号分隔

// Output (array has 3 items): 
$string = '?, ?, ?';

5 个答案:

答案 0 :(得分:4)

单人游戏:

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

答案 1 :(得分:2)

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

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

// output: ?, ?, ? 

答案 2 :(得分:1)

$numbers = array(1,2,3);
$questions = array();
for($i=0;$i<sizeof($numbers);$i++)
    $questions[] = '?';
$string = implode(', ',$questions);

编辑:使用array_fill

进行了改进
$numbers = array(1,3,5);
$string = implode(', ', array_fill(0, count($numbers), '?'));
echo $string;

答案 3 :(得分:1)

可能吗?

$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))?'':', ');
}

答案 4 :(得分:0)

使用函数implode。

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