Php 如何在关联数组中使用附加到字符串的数字

Php 如何在关联数组中使用附加到字符串的数字,php,arrays,associative,Php,Arrays,Associative,我有一个卡片组阵列: $cards = array("2_of hearts" => 2, "3_of_hearts" => 3, "king_of_hearts" => 10); 我想在某个地方重复卡片的名字(例如:2个心形),但同时也计算一些附加了数字的东西,但我似乎真的无法让它工作。而且,我也找不到一个有效的答案 有人知道怎么做吗 如果使用foreach循环提供键和类似的值,则可以将2\u hearts和2作为变量 $cards = array("2_of hearts

我有一个卡片组阵列:

$cards = array("2_of hearts" => 2, "3_of_hearts" => 3, "king_of_hearts" => 10);
我想在某个地方重复卡片的名字(例如:2个心形),但同时也计算一些附加了数字的东西,但我似乎真的无法让它工作。而且,我也找不到一个有效的答案


有人知道怎么做吗

如果使用foreach循环提供键和类似的值,则可以将
2\u hearts
2
作为变量

$cards = array("2_of hearts" => 2, "3_of_hearts" => 3, "king_of_hearts" => 10);
foreach ( $cards as $name => $value) {
    echo $name . ' has a value of ' . $value.PHP_EOL;
    $calc = $value + 5;
    echo 'ADDED 5 - gives ' . $calc . PHP_EOL;
}
结果

2_of hearts has a value of 2
ADDED 5 - gives 7
3_of_hearts has a value of 3
ADDED 5 - gives 8
king_of_hearts has a value of 10
ADDED 5 - gives 15

然后,您只需使用
$value
变量进行计算,使用
foreach
的这种语法可以访问数组的键

$cards = array("2_of hearts" => 2, "3_of_hearts" => 3, "king_of_hearts" => 10);
foreach($cards as $key=> $value){
    $key = explode("_",$key);
    $cardname = $key[count($key)-1];
    //echo $key[0] . " of " $cardname . "<br>";
    echo $value . " of " $cardname . "<br>"; // edit after comments
}
$cards=array(“2颗红心”=>2,“3颗红心”=>3,“红心之王”=>10);
foreach($key=>$value的卡){
$key=explode(“\u3,$key”);
$cardname=$key[计数($key)-1];
//回显“$cardname.”的“$key[0]”;
echo“$cardname.”的“$value.”;//在注释后编辑
}

注:如果你确定你的键总是有图案< >代码> <代码> < /p>你是否考虑创建一个有脸、适合和值的卡片类?访问对象属性要比处理字符串以获取某些值容易得多。使用
$value
中的值并让生活变得美好和舒适有什么错easy@RiggsFolly没有,他可以使用
$value
偏离航线。我只是想让他提取卡名alone@RiggsFolly事实上,使用
$value
更可靠,因为模式永远不可信,但正如我所说,我只想提取卡名。当然,使用
$value
比使用
$key[0]
要好。当我这样做时,$name和$value都显示为值,使其无法回显卡。请参阅新的示例代码,我使用
$value
添加了一个虚拟计算。我注意到,当我去掉所有的“=>数字”时,它确实回显了卡名,但是只要我把=>放回去,它就只回显$key和$value中的数字。你最好编辑你的问题,并张贴你正在使用的真实代码,我会看看我是否可以看到一个错误