![](/img/trans.png)
[英]How can I exclude an object from my array so a foreach loop avoids it?
[英]How can i foreach data from my array to an xmls tags so as to send message to multiple numbers if i would query from database
我有這個在我的國家/地區提供 SMS API 的供應商,在向單個用戶發送短信時一切正常,當我需要從數據庫發送給多個用戶時出現問題,他們使用 XML 通過對數字進行硬編碼發送給多個用戶在xml
,每當我嘗試從我的數組中 foreach 值時,它都會給出未定義變量的錯誤。
我試過使用print_r()
, implode(",",$var)
, json_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 ";
?>
我希望向我的兩個號碼發送消息,但我收到ErrorException (E_NOTICE) Undefined variable: numb error
,我使用的是 Laravel 控制器,我對 xmls 了解不多
改變這個:
$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>";
對此:
$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) {
$messageXML .= "<Receiver id=''>{$numb}</Receiver>";
}
$messageXML .= "</Receivers><Callbackurl>{$callbackURL}</Callbackurl></Message></Broadcast>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.