【发布时间】:2016-07-30 11:08:13
【问题描述】:
我几乎解决了我的短信问题,并将其缩小到一个我似乎无法开始工作的小问题。
这是我所拥有的:
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 不起作用,因为它不能接受动态指针。有没有办法根据找到的关键字自动填充数组位置?在我上面的代码中,您可以(希望)看到我正在尝试做的事情。
【问题讨论】:
-
“很遗憾,array_search 无法工作,因为它不能接受动态指针”——这是什么意思?什么是“动态针”?
-
This: array_search 将在表达式 array_search('dog','$keyword) 中工作,我在其中明确说明了要搜索的确切值。在我希望 array_search 查找输入的关键字的情况下,在我的示例“$word”中,这将使我首选的 array_search($word,$keyword) 不起作用。在这种情况下,指针将是动态的,因为我没有告诉它要搜索的静态值,因为要查找的单词会根据输入的内容而变化。