【发布时间】:2015-02-05 16:58:48
【问题描述】:
我正在编写一个导入脚本,该脚本需要评估设置的字符串是否符合后端字段可能具有的值。 更确切地说,我所拥有的是这个提交数组:
$committees = array(
'Ämter' => 1,
'Abteilungen' => 2,
'Konservatoren' => 3,
'Dienstagssitzung' => 4,
);
现在我需要确定一个字符串是否保存在
变量$category 匹配该数组中的任何键。如果它确实匹配其中一个条目,我需要它返回与该键对应的值(1、2、3 或 4)。
我在 Stackoverflow 上阅读了它,并找到了很多示例来查看数组中的值是否等于 1,例如: preg_match array items in string? 并试图跟随他们。 我试过了
$committeesKeys = '/(' . implode('|', array_keys($committees)) . ')/';
$matches = preg_match($committeesKeys, $category);
但这只返回了它找到的匹配数?
我也试过了
$input = preg_quote($category, '/');
$matches = preg_filter('/'.$input.'/', null, $committees);
按照其他人的建议,无法再找到链接,但返回的是一个空数组。
我对这一切都不熟悉,所以这里可能完全错了。
谁能告诉我如何做到这一点,或者我可以在哪里找到问题的答案?我可能只是没有找到它,我的大脑现在很累......
【问题讨论】:
-
echo (isset($committees[$category]))?$committees[$category]:'There is no '.$category.' category'; -
似乎有效!如果你做对了,事情就会变得如此简单!非常感谢...
标签: php arrays regex preg-match