【问题标题】:find position of word in array php在数组php中查找单词的位置
【发布时间】: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) 不起作用。在这种情况下,指针将是动态的,因为我没有告诉它要搜索的静态值,因为要查找的单词会根据输入的内容而变化。

标签: php arrays dynamic


【解决方案1】:

已解决问题。它可以动态完成。

 $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();}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2016-08-10
    • 1970-01-01
    相关资源
    最近更新 更多