我将使用SMS到Web服务器,它会将传入的文本消息转发到我的Web服务器。
邮件正文将包含一些短代码,手机号码和格式的金额。我需要将细节分别存储到变量中。
以下是一个示例,我将通过POST方式在我的网络服务器中收到的内容:
$sender = "9999912345";
$date = "2017-04-14 13:04:40";
$message = "RCG ARTL 9700012345 50";
我需要将$ message的内容分别存储到变量中:
$cmd = "RCG";
$op = "ARTL";
$no = "9700012345";
$amt = "50";
请帮忙!
答案 0 :(得分:1)
尝试此代码,使用带空格的explode
函数作为分隔符,然后确保展开的消息(数组)包含4个键/值。
$cmd = '';
$op = '';
$no = '';
$amt = '';
$explodedMessage = explode(' ', $message);
if (count($explodedMessage)==4){
$cmd.=$explodedMessage[0];
$op.=$explodedMessage[1];
$no.=$explodedMessage[2];
$amt.=$explodedMessage[3];
}
答案 1 :(得分:1)
你可以试试这个。
$message = "RCG ARTL 9700012345 50";
list($cmd, $op, $no, $amount) = explode(' ', $message);
var_dump($cmd, $op, $no, $amount);
输出:
string(3) "RCG"
string(4) "ARTL"
string(10) "9700012345"
string(2) "50"
答案 2 :(得分:1)
您可以使用explode函数将$ message转换为数组,其中delimitre将是一个空格。然后可以按照你想要的方式访问它。
$message = "RCG ARTL 9700012345 50";
$messageArray = explode(" ", $message);
$someText = $messageArray[0];
答案 3 :(得分:1)
请尝试以下代码:
$message = "RCG ARTL 9700012345 50";
$arr = explode(" ", $message);
$cmd = $arr[0];
$op = $arr[1];
$no = $arr[2];
$amt = $arr[3];
答案 4 :(得分:1)
<?php
$message = "RCG ARTL 9700012345 50";
list($cmd, $op, $no, $amt) = explode(" ",$message);
你可以测试它。