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

如何在php中检查包含特定字符串的数组中是否存在键?,php,arrays,web,web-applications,Php,Arrays,Web,Web Applications,我现在正在用PHP开发一个webapp。到目前为止,已定义的数组具有以下结构: $array = array("check_first" => true, "check_second" => false) 还有许多其他数组具有默认的数字结构和键:0、1、2、3等等 现在,我想区分键为numeric的数组和键为以“check_”开头的字符串的数组 因此,如果有一个数组的键包含字符串“check\”,我想搜索我定义的所有数组。我更喜欢一个简单的if语句 我希望这是有道理的。谢谢你的评论

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

$array = array("check_first" => true, "check_second" => false)
还有许多其他数组具有默认的数字结构和键:0、1、2、3等等

现在,我想区分键为numeric的数组和键为以“check_”开头的字符串的数组

因此,如果有一个数组的键包含字符串“check\”,我想搜索我定义的所有数组。我更喜欢一个简单的if语句

我希望这是有道理的。谢谢你的评论

  • 步骤1:使用
    foreach
  • 步骤2:对于每个条目,使用
    strpos($key,'check')检查键是否以字符串开头==错误

一种方法是获取所有数组键,将它们连接到一个字符串中,然后使用strpos测试是否有“check_”的实例

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

虽然编码简洁,但它包含三个函数调用,其中两个应用于所有数组元素。在第一次匹配时中断的foreach循环可能更快。

您希望结果是什么?你说键为numeric的数组和键为以“check”开头的字符串的数组之间的差异是什么?那么数字数组是什么?你希望差异结果是什么?请在回答中添加一些解释