我有这个数组($recip
):
Array
(
[0] => 393451234567
[1] => 393479876543
)
SMS API提供商需要采用以下格式的数字:
recipients[]=393334455666&recipients[]=393334455667
使用
$recipients = implode('&recipients[]=',$recip);
我只能获得这个:
393471234567&recipients[]=393459876543
缺少第一个" recipients[]
" (总的来说,第一个不需要" &
"。
答案 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);