尝试使用implode()
函数在每个元素的末尾添加字符串。
$array = array('9898549130', '9898549131', '9898549132');
$attUsers = implode("@txt.att.net,", $array);
print($attUsers);
打印出来:
9898549130@txt.att.net,9898549131@txt.att.net,9898549132
如何让implode()
附加最后一个元素的粘合剂?
预期产出:
9898549130@txt.att.net,9898549131@txt.att.net,9898549132@txt.att.net
//^^^^^^^^^^^^ See here
答案 0 :(得分:2)
这似乎有效,不确定它是最好的方法:
$array = array('9898549130', '9898549131', '9898549132');
$attUsers = implode("@txt.att.net,", $array) . "@txt.att.net";
print($attUsers);
答案 1 :(得分:1)
这是我朋友的答案,似乎提供了使用foreach的最简单的解决方案。
$array = array ('1112223333', '4445556666', '7778889999');
// Loop over array and add "@att.com" to the end of the phone numbers
foreach ($array as $index => &$phone_number) {
$array[$index] = $phone_number . '@att.com';
}
// join array with a comma
$attusers = implode(',',$array);
print($attusers);
答案 2 :(得分:1)
使用array_map
和lambda函数有一种更简单,更好,更有效的方法:
$numbers = ['9898549130', '9898549131', '9898549132'];
$attUsers = implode(
',',
array_map(
function($number) {
return($number . '@txt.att.net');
},
$numbers
)
);
print_r($attUsers);
答案 3 :(得分:0)
有一个简单的解决方案可以实现这一目标:
$i = 1;
$c = count($array);
foreach ($array as $key => $val) {
if ($i++ == $c) {
$array[$key] .= '@txt.att.net';
}
}
答案 4 :(得分:0)
$result = '';
foreach($array as $a) {
$result = $result . $a . '@txt.att.net,';
}
$result = trim($result,',');
答案 5 :(得分:0)
在插入之前在数组中附加一个空字符串。
但后来我们又遇到了另一个问题,最后是一个尾随的逗号
所以,remove it。
输入:
$array = array('9898549130', '9898549131', '9898549132', '');
$attUsers = implode("@txt.att.net,", $array);
$attUsers = rtrim($attUsers, ",")
输出:
9898549130@txt.att.net,9898549131@txt.att.net,9898549132@txt.att.net