我几乎已经找到了我的短信问题,并将其缩小到一个我似乎无法开始工作的小问题。
以下是我所拥有的:
include('Services/Twilio.php');
/* Read the contents of the 'Body' field of the Request. */
$body = $_REQUEST['Body'];
/* Remove formatting from $body until it is just lowercase
characters without punctuation or spaces. */
$result = rtrim($body);
$result = strtolower($result);
$text = explode(' ',$result);
$keyword = array('dog','pigeon','owl');
$word = array_intersect($keyword,$text);
$key = array_search($word, array_keys($keyword));
$word[$key]();
/* ^^this is the issue */
因此,短信应用程序现在可以读取一个句子,并找到关键字没有汗水。问题是,我还需要将该单词的位置与关键字数组中的位置相关联。如果我手动将数字更改为正确的位置并发送包含该关键字的文本,则它可以完美地运行。
不幸的是array_search
无法正常工作,因为它无法接受动态指针。有没有办法根据找到的关键字自动填充数组位置?在上面的代码中,您可以看到(希望)我想要做的事情。
答案 0 :(得分:0)
解决了问题。它可以动态完成。
$body = $_REQUEST['Body'];
/* Remove formatting from $body until it is just lowercase
characters without punctuation or spaces. */
$result = rtrim($body);
$result = strtolower($result);
$text = explode(' ',$result);
$keyword = array('listing','pigeon_show','owl');
$word = array_intersect($keyword,$text);
$key = key($word);
if ($word){
$word[$key]();}
else
{index();}