我有一个这样的数组:
$array = ['oooo', 'no', 'mmmm', 'yes'];
字符串我想搜索一个词“是”。我知道array_search(),但我想匹配“是”,“是”和“是”以及。我该怎么做?
array_search()
whitzsjs1#
array_search(strtolower($search), array_map('strtolower', $array));
字符串
zqdjd7g92#
可以使用in_array()代替array_search()。
in_array()
$response = in_array('yes', array_map('strtolower', $array));
bxjv4tth3#
编辑:对不起,我看到它的价值观,见:http://php.net/manual/en/function.array-change-key-case.php#88648对于密钥:
$a = array('YES', 'yes', 'Yes'); $b = array_change_key_case($a, CASE_LOWER); $f = array_search(strtolower($search), $b);
s4chpxco4#
对于一个迭代任务来说,转换干草堆中所有值的大小写是不必要的,也是低效的,因为一旦找到一个合格的值,这个任务就可能停止。
$array = ['oooo', 'no', 'mmmm', 'yes']; $needle = 'Yes'; foreach ($array as $i => $v) { if (stripos($v, $needle) !== false) { $found = $i; break; } } echo $found ?? 'Not found'; // output: 3
字符串如果要最小化全局作用域变量,请在Immediately Invoked Functional Expression . Demo中执行循环
echo (function($haystack, $needle) { foreach ($haystack as $i => $v) { if (stripos($v, $needle) !== false) { return $i; } } return null; })($array, $needle) ?? 'Not found'; // output: 3
型
4条答案
按热度按时间whitzsjs1#
字符串
zqdjd7g92#
可以使用
in_array()
代替array_search()
。字符串
bxjv4tth3#
编辑:对不起,我看到它的价值观,见:http://php.net/manual/en/function.array-change-key-case.php#88648
对于密钥:
字符串
s4chpxco4#
对于一个迭代任务来说,转换干草堆中所有值的大小写是不必要的,也是低效的,因为一旦找到一个合格的值,这个任务就可能停止。
字符串
如果要最小化全局作用域变量,请在Immediately Invoked Functional Expression . Demo中执行循环
型