PHP CURL在循环中出现400错误

PHP CURL在循环中出现400错误,php,regex,curl,urlencode,url-encoding,Php,Regex,Curl,Urlencode,Url Encoding,在这里,foreach循环返回一个电话号码,该号码进入链接,但每当我尝试运行此脚本时,它都会给我错误400错误请求。我也尝试过使用useragent,但即使这样也不能解决错误。任何帮助都会很好 这是我的第一个问题,请让我知道,如果我可以提供任何东西来解决这个问题 foreach($var5 as $number) { $ch = curl_init(); $ch1="http://bmsms.co.in/sendsms.aspx?mobile=0000000000&p

在这里,foreach循环返回一个电话号码,该号码进入链接,但每当我尝试运行此脚本时,它都会给我错误400错误请求。我也尝试过使用useragent,但即使这样也不能解决错误。任何帮助都会很好

这是我的第一个问题,请让我知道,如果我可以提供任何东西来解决这个问题

foreach($var5 as $number) {
     $ch = curl_init();
     $ch1="http://bmsms.co.in/sendsms.aspx?mobile=0000000000&pass=xxxxxxxx&senderid=xxxxxxx&to=$number&msg=hey";
     echo $ch1;
     curl_setopt($ch, CURLOPT_URL, "$ch1");
     curl_setopt($ch, CURLOPT_HEADER, 0);
     //curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36');
     curl_exec($ch);
     curl_close($ch);
}
更新:

当我添加
urlencode
时,肯定会出现错误的请求,但我希望执行此url:
http://bmsms.co.in/sendsms.aspx?mobile=1234567890&pass=password&senderid=ID&to=+9408644603&msg=hey
但执行此url:
http://bmsms.co.in/sendsms.aspx?mobile=1234567890&pass=password&senderid=ID&to=%2B+9408644603&msg=hey


在这里,我只将
urlencode
应用于我直接输入的电话号码的其余字段。此外,如果电话号码不正确,则可能会出现错误的请求,因为api将不会执行。

由于某种原因,电话号码中的
+
正在中断接收应用程序系统。URL编码无法解决此问题,因为他们只需要数字。可以使用正则表达式将所有前导的非数字字符替换为零

preg_replace('/^\D+/','', $serverthing)
\D
是非数字(
\D
是数字)。
^
是字符串的开头。
+
是前一个字符/组中的一个或多个。

/
s是分隔符,表示正则表达式的开始和结束。

您是否在循环的所有请求中都得到了
400
响应?@nikos.svnk是的,我多次听到一个错误,说错误请求400。我是新手,您能告诉我如何确定相同的错误吗@chris85@chris85不,我不会像这样传递值:尝试对它们进行编码
$var=urlencode(“xyz”)