Php 若要从数据库查询,如何将数组中的每个数据转换为xmls标记,以便将消息发送到多个数字
我有一个在我的国家提供SMS API的供应商,在向单个用户发送SMS时,一切都很好,问题是当我需要从数据库向多个用户发送SMS时,他们使用XML通过硬编码XML中的数字向多个用户发送,每当我尝试从数组中foreach值时,它都会给出未定义变量的错误 我试过使用Php 若要从数据库查询,如何将数组中的每个数据转换为xmls标记,以便将消息发送到多个数字,php,xml,laravel,foreach,Php,Xml,Laravel,Foreach,我有一个在我的国家提供SMS API的供应商,在向单个用户发送SMS时,一切都很好,问题是当我需要从数据库向多个用户发送SMS时,他们使用XML通过硬编码XML中的数字向多个用户发送,每当我尝试从数组中foreach值时,它都会给出未定义变量的错误 我试过使用print\u r(),内爆(“,”,$var),json\u encode()它们似乎可以工作,但当我循环时仍然会出错 public function multi(){ define ("URL_API_DO
print\u r()
,内爆(“,”,$var)
,json\u encode()
它们似乎可以工作,但当我循环时仍然会出错
public function multi(){
define ("URL_API_DOMAIN", "http://www.bongolive.co.tz/api/broadcastSMS.php");
$sendername = "mysendername";
$username = "myusername";
$password = "mypassword";
$apikey = "mykey";
$numbers=array("+255*********","+255********");
$number=print_r($numbers);
// foreach ($numbers as $key => $numb) {
// echo $number = $numb;
// }
// return $number;
$callbackURL = "";
$messageXML = "
<Broadcast>
<Authentication>
<Sendername>".$sendername."</Sendername>
<Username>".$username."</Username>
<Password>".$password."</Password>
<Apikey>".$apikey."</Apikey>
</Authentication>
<Message>
<Content>Test broad cast from eboaard Message, Ukipata hii text nijulishe MAKAVELI</Content>
<Receivers>
foreach($number as $numb){
<Receiver id=''>".$numb."</Receiver>
}
</Receivers>
<Callbackurl>".$callbackURL."</Callbackurl>
</Message>
</Broadcast>";
$data = array('messageXML' => $messageXML);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, URL_API_DOMAIN);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
echo "response = $response ";
}
}
//their codes example
<?php
define ("URL_API_DOMAIN", "http://www.bongolive.co.tz/api/broadcastSMS.php");
$sendername = "Bongo Live";
$username = "testaccount";
$password = "123456";
$apikey = "c4a12fa8-ed6f-11df-a1f1-00181236674f";
$callbackURL = "http://www.yourdomain.com/sms/dlr.php";
$messageXML = "
<Broadcast>
<Authentication>
<Sendername>".$sendername."</Sendername>
<Username>".$username."</Username>
<Password>".$password."</Password>
<Apikey>".$apikey."</Apikey>
</Authentication>
<Message>
<Content>Test Message</Content>
<Receivers>
<Receiver id='7772237998'>255655123123</Receiver>
</Receivers>
<Callbackurl>".$callbackURL."</Callbackurl>
</Message>
</Broadcast>";
$data = array('messageXML' => $messageXML);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, URL_API_DOMAIN);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
echo "response = $response ";
?>
公共功能多(){
定义(“URL\U API\U域”http://www.bongolive.co.tz/api/broadcastSMS.php");
$sendername=“mysendername”;
$username=“myusername”;
$password=“mypassword”;
$apikey=“mykey”;
$numbers=数组(“+255*******”、“+255*******”);
$number=print\r($number);
//foreach($key=>$numb){
//echo$number=$numb;
// }
//返回$number;
$callbackURL=“”;
$messageXML=”
“$sendername。”
“$username。”
“$password。”
“$apikey。”
测试来自埃博德消息的广播,Ukipata hii文本Nijulise MAKAVELI
foreach($numb){
“$numb。”
}
“$callbackURL。”
";
$data=array('messageXML'=>$messageXML);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,URL_API_DOMAIN);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_超时,4);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$response=curl\u exec($ch);
echo“response=$response”;
}
}
//他们的代码就是一个例子
$messageXML);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,URL_API_DOMAIN);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_超时,4);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$response=curl\u exec($ch);
echo“response=$response”;
?>
我本想给我的两个号码发送消息,但我收到了ErrorException(E_通知)
未定义变量:numb error
,am使用laravel控制器,am对xmls不太了解更改此项:
$messageXML=”
“$sendername。”
“$username。”
“$password。”
“$apikey。”
测试来自埃博德消息的广播,Ukipata hii文本Nijulise MAKAVELI
foreach($numb){
“$numb。”
}
“$callbackURL。”
";
为此:
$messageXML=”“。
“{$sendername}”。
“{$username}”。
“{$password}”。
“{$apikey}”。
“测试来自埃博德的宽铸件”。
“信息,Ukipata hii文本Nijulise MAKAVELI”;
foreach($numb){
$messageXML.=“{$numb}”;
}
$messageXML.=“{$callbackURL}”;
不能在字符串中使用循环函数!Thnks为响应人,但上面的代码不断抛出错误未定义的变量消息,,,@CodyKlSorry有一个输入错误,但您也可以自行修复,而不仅仅是复制粘贴和不检查;)