匹配字符串与数组键

时间:2016-12-01 13:24:14

标签: php arrays

我正在尝试如何为我的网站找出一些东西。 这不是我的代码只是一个例子,让我更容易理解我的意思。

假设我有一个这样的数组:

$services = array(
    Marketing  => marketing:342343423423,
    Sales => sales:779876786,
)

我的网站上有一张表格。我可以通过POST请求获取发布的值。

POST请求可以看起来像这样

$_POST['service_request'] 

现在我想知道的是如何做下一步:

如果$_POST['service_request']$services中的某个数组键匹配,则打印此数组键的相关值。

假设用户填写我的表单,他的服务请求是营销,然后我想检查$service变量中是否存在此服务请求,如果存在则打印该值。

2 个答案:

答案 0 :(得分:7)

使用php的key_exists函数。

 if(key_exists($_POST['service_request'],$services)){
   //exists, perform rest of the logic here.
 }

更新:它是array_key_exists的别名,因此两者基本相同。

答案 1 :(得分:2)

修改: 如果未设置密钥,则下面的代码可以给出例外情况。您应该使用另一个答案中给出的key_exists。或者将其更改为:

if ( isset($services[$_POST['service_request']]) ) {
    echo $services[$_POST['service_request']];
}

此代码将使用给定键打印数组中的值:

$value = $services[$_POST['service_request']];
echo (isset($value) ? $value : '');