Php 如何使用字符串中的键获取数组的值

Php 如何使用字符串中的键获取数组的值,php,arrays,Php,Arrays,我有一个带有一些键的数组,我想根据数组键获取数组值,其中键位于字符串中 例如: $arr = array( "COV" => "Comilla Victorians", "RK" => "Rajshaji Kings" ); $str = "COV-RK"; 现在我要展示的是科米拉·维多利亚对拉贾吉国王的比赛 我可以使用一些自定义循环来完成,但我需要一些智能编码,请注意。我认为有一些方法可以使用我不知道的数组函数来实现它。您可以尝试以下方

我有一个带有一些键的数组,我想根据数组键获取数组值,其中键位于字符串中

例如:

$arr = array(
        "COV" => "Comilla Victorians",
        "RK"  => "Rajshaji Kings"
    );

$str = "COV-RK";
现在我要展示的是
科米拉·维多利亚对拉贾吉国王的比赛

我可以使用一些自定义循环来完成,但我需要一些智能编码,请注意。我认为有一些方法可以使用我不知道的数组函数来实现它。

您可以尝试以下方法:-

<?php

$arr = array(
    "COV" => "Comilla Victorians",
    "RK"  => "Rajshaji Kings"
);

$str = "COV-RK";

$values = explode("-", $str); // explode string to get keys actually

echo $arr[$values[0]] . " VS " . $arr[$values[1]]; // print desired output

您可以执行以下操作:

echo implode(' VS ', array_map(function($v) use ($arr) { return $arr[$v]; }, explode('-', $str)));

因此,分解字符串,映射生成的数组,在
$arr
中返回匹配键的值,然后将其内爆。

您这样做的目的是什么?在这里发布“我需要一些智能编码”<代码>echo$arr['COV']。“对”.$arr['RK']
@Nogital您所说的数组函数是什么意思?@Nogital您必须(至少)根据预期的结果(比这个结果更多)显示您的字符串。否则没人知道你到底想要什么?最后有人带来了一点常识。谢谢你@Anantnope。只要看一些评论,你就会知道。顺便说一句,我没有否决你,我已经在explode和foreach的帮助下完成了,我需要学习数组函数。是的,我已经阅读了评论,但它们是在我的回答后发布的。当然,如果你不想让人们使用最明显的方式(爆发),你必须在问题中说出来,不要迟。我没有测试过,但似乎更准确。但如果人们没有表现出任何努力,就不要发布答案+我的意思是,这太棒了,但是你能再解释一下吗,我需要学习这些东西。@你只需要阅读php.net中的文档。例如,谷歌“php内爆”,如果你懂英语,你应该感到满意。最后一句话总结了正在发生的事情,非常直截了当。与其他语言相比,我发现php语言的文档非常清晰(可能是因为php本身更简单)。