Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 若要从数据库查询,如何将数组中的每个数据转换为xmls标记,以便将消息发送到多个数字_Php_Xml_Laravel_Foreach - Fatal编程技术网

Php 若要从数据库查询,如何将数组中的每个数据转换为xmls标记,以便将消息发送到多个数字

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

我有一个在我的国家提供SMS API的供应商,在向单个用户发送SMS时,一切都很好,问题是当我需要从数据库向多个用户发送SMS时,他们使用XML通过硬编码XML中的数字向多个用户发送,每当我尝试从数组中foreach值时,它都会给出未定义变量的错误

我试过使用
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有一个输入错误,但您也可以自行修复,而不仅仅是复制粘贴和不检查;)