【问题标题】:Return all possible matches from an array of strings in PHP从 PHP 中的字符串数组中返回所有可能的匹配项
【发布时间】:2015-11-17 13:21:46
【问题描述】:

例如,如果我有一个数组:

$random = array("Woodpecker","Pecking","Kayaking");

使用 HTML 表单,如何获取输入字符串的所有可能匹配项。

例如,如果输入是“Peck”,我应该得到WoodpeckerPecking 的输出。不区分大小写。

【问题讨论】:

  • 向我们展示您迄今为止的尝试。真的无法判断你是否真的在自己身上付出了任何努力。
  • Stackoverflow 不是“请为我编写代码”平台。它应该是一个知识库,您所问的内容已包含在无数关于正则表达式的问题的答案中。这告诉我,是的,您在提出问题之前实际上并没有进行过研究,这是这里的常见礼貌。或者至少应该是。
  • 我建议你阅读stackoverflow.com/help。鉴于您是一个相当新的用户,我强烈建议您理解这不是一个论坛,您应该采取相应的行动。
  • 如果你读了,你会说我无权删除除我之外的任何其他 cmets,这意味着其他人删除了你贬低的 cmets。

标签: php arrays regex string forms


【解决方案1】:

你的朋友是array_searcharray_keys()

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;

如果在数组中找到,则返回 needle 的键,FALSE 否则。

如果多次在haystack中找到needle,则第一个匹配的key 被退回。要返回所有匹配值的键,请使用 array_keys() 使用可选的 search_value 参数。

【讨论】:

  • 这个我试过了,没用。也许我做错了什么。还是谢谢!
【解决方案2】:

循环遍历数组并使用函数匹配字符串。

Iterate an array

Match string with regular expression

【讨论】:

  • 为什么不把它放在一个例子中而不是仅仅发布链接呢?
【解决方案3】:

使用循环来实现这一点

<?php
$random = array("Woodpecker","Pecking","Kayaking");
foreach($random as $r)
{
    if(stripos($r,'peck') !== false)
        echo $r;
}
?>

【讨论】:

    猜你喜欢
    • 2020-08-07
    • 2019-03-10
    • 2018-04-12
    • 2020-03-28
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    相关资源
    最近更新 更多