我的数据库已连接到游戏,并且每个购买车辆的玩家都会填充数据库字段。玩家携带车辆之后,将车辆保存到数据库中,并将车辆名称保存为游戏的实际名称。例如,假设我带来了道奇充电器,它将名称保存为dodge_charger。我不希望我已经完成显示dodge_charger的表格(或其他任何车辆),只是想使用某种数组来自动替换单词,例如
array(
"dodge_charger" => "Somenew Name",
"ford_gt" => "Another Newname",
"hyundai_xl" => "Yet Another New Name"
);
因此,第一个单词(带下划线)是保存到数据库中的内容,第二个单词是我希望它在PHP中显示的内容,但是根据游戏中购买的每辆车的名称,车辆的名称始终会有所不同。我不想只是使用PHP删除Underscore,而是将其重命名为我选择的第二个名字。
这是否有意义?
答案 0 :(得分:0)
您的数据库表的结构应使其具有以下布局:
表一:用户汽车
列:
ID
UserID
汽车ID
汽车名称
表二:汽车
列:
汽车ID
汽车类型(道奇_福特,福特_gt)
这将允许用户购买多辆相同类型的汽车(这样他们可以拥有2个道奇充电器)
很抱歉,您需要进一步解释一下,如果需要,您可以将Users Car条目的ID存储到数组中,然后在需要时抓取该行! :)
答案 1 :(得分:0)
您可以使用str_replace
和array_map
。
例如:
<?php
$translations = [
'dodge_charger' => 'Somenew Name',
'ford_gt' => 'Another Newname',
'hyundai_xl' => 'Yet Another New Name'
];
$dbValues = array_map(
function($str) use ($translations) {
return str_replace(array_keys($translations), array_values($translations), $str);
},
$dbValues
);
print_r($dbValues);
此代码假定您要替换的值(来自数据库)位于数组中。例如:
[ 'dodge_charger', 'ford_gt', 'hyundai_xl', 'prius' ];