Php 将字符串与数组键匹配

Php 将字符串与数组键匹配,php,arrays,Php,Arrays,我正在尝试如何为我的网站找到一些东西。 这不是我的代码,只是一个例子,让它更容易理解我的意思 假设我有这样一个数组: $services = array( Marketing => marketing:342343423423, Sales => sales:779876786, ) 我在我的网站上有一个表格。我可以通过POST请求获得发布的值 例如,POST请求可以如下所示 $_POST['service_request'] 现在我想知道的是如何进行下一步:

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

假设我有这样一个数组:

$services = array(
    Marketing  => marketing:342343423423,
    Sales => sales:779876786,
)
我在我的网站上有一个表格。我可以通过POST请求获得发布的值

例如,POST请求可以如下所示

$_POST['service_request'] 
现在我想知道的是如何进行下一步:

如果
$\u POST['service\u request']
$services
中的一个数组键匹配,则打印此数组键的相关值


假设一个用户填写了我的表单,他的服务请求正在营销,那么我想检查这个服务请求是否存在于
$service
变量中,如果存在,则打印值。

使用
键存在
php函数

 if(key_exists($_POST['service_request'],$services)){
   //exists, perform rest of the logic here.
 }
更新:它是存在的
数组的别名
,因此两者基本相同。

编辑: 如果未设置密钥,下面的代码可能会出现异常。您应该使用另一个答案中给出的键。或将其更改为:

if ( isset($services[$_POST['service_request']]) ) {
    echo $services[$_POST['service_request']];
}
此代码将使用给定的键打印数组中的值:

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

不,这是一个别名@JayMy bad@clive。第一杯咖啡还没喝完;-)你好,谢谢你的回答。通常,当我想打印数组的值时,我会像打印一样打印($test['key'])。[]中的部分可以是POST请求吗?例如,print_r($test[$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了SO的未来访问者。如果值不存在,可以给出未定义偏移量的执行选项。忘了这一点,我的错。