怎么内爆这个阵列?

时间:2014-09-19 13:25:33

标签: php arrays implode

我有这个数组($recip):

Array
(
    [0] => 393451234567
    [1] => 393479876543
)

SMS API提供商需要采用以下格式的数字:

recipients[]=393334455666&recipients[]=393334455667

使用

$recipients = implode('&recipients[]=',$recip);

我只能获得这个:

393471234567&recipients[]=393459876543

缺少第一个" recipients[]" (总的来说,第一个不需要" &"。

4 个答案:

答案 0 :(得分:2)

只需将最初的recipients[]=附加到字符串的前面:

$recipients = 'recipients[]=' . implode('&recipients[]=',$recip);

答案 1 :(得分:0)

另一种选择:

foreach ($array as $key => $value){
    $array[$key] = (($key == 0) ? '' : '&').'recipients[]='.$value;
}
$result = implode('',$array);

foreach循环允许您填充字符串。我包括一张支票,以避免附加&在字符串的第一部分。

指出这是一个选项,但另一种方式更简单!

答案 2 :(得分:0)

试试这个:

vsprintf('recipients[]=%s&recipients[]=%s', $recip);

答案 3 :(得分:0)

另一个选择

foreach ($recip as $ip){
    $array[] = 'recipients[]=' . $ip;
}
$result = implode('&',$array);