如何检查数组中是否存在包含php中某个字符串的键?

时间:2017-03-02 22:27:42

标签: php arrays web web-applications

我正在使用PHP开发一个webapp。到目前为止,有一个定义的数组具有以下结构:

$array = array("check_first" => true, "check_second" => false)

还有许多其他数组具有默认数字结构,其中包含键:0,1,2,3等。

我现在想要在带有数字键的数组和带有以&#34开头的字符串键的数组之间做出改变。检查_"。

所以我想搜索我所有已定义的数组,如果有一个包含字符串的数组的数组"检查_"。我更喜欢这个简单的if语句。

我希望这是有道理的。感谢您的所有意见!

2 个答案:

答案 0 :(得分:0)

  • 第1步:使用foreach
  • 循环遍历数组
  • 每个条目的第2步,使用strpos($key, 'check_')!==false
  • 检查密钥是否以字符串开头

答案 1 :(得分:0)

一种方法是获取所有数组键,将它们连接成一个字符串,然后使用strpos来测试是否有任何'检查_'

的实例。
if (strpos(implode('',array_keys($arr)),'check_') !== false) {
    echo 'This array has "check_" keys!';
}

虽然这是简洁的编码,但它包括三个函数调用,其中两个函数调用应用于所有数组元素。在第一场比赛中打破的foreach循环可能会更快。