如何将数据库条目字符串转换为另一个字符串

时间:2018-12-18 17:10:27

标签: php

我的数据库已连接到游戏,并且每个购买车辆的玩家都会填充数据库字段。玩家携带车辆之后,将车辆保存到数据库中,并将车辆名称保存为游戏的实际名称。例如,假设我带来了道奇充电器,它将名称保存为dodge_charger。我不希望我已经完成显示dodge_charger的表格(或其他任何车辆),只是想使用某种数组来自动替换单词,例如

array(
    "dodge_charger" => "Somenew Name", 
    "ford_gt" => "Another Newname", 
    "hyundai_xl" => "Yet Another New Name"
);

因此,第一个单词(带下划线)是保存到数据库中的内容,第二个单词是我希望它在PHP中显示的内容,但是根据游戏中购买的每辆车的名称,车辆的名称始终会有所不同。我不想只是使用PHP删除Underscore,而是将其重命名为我选择的第二个名字。

这是否有意义?

2 个答案:

答案 0 :(得分:0)

您的数据库表的结构应使其具有以下布局:

表一:用户汽车

列:

ID

UserID

汽车ID

汽车名称

表二:汽车

列:

汽车ID

汽车类型(道奇_福特,福特_gt)

这将允许用户购买多辆相同类型的汽车(这样他们可以拥有2个道奇充电器)

很抱歉,您需要进一步解释一下,如果需要,您可以将Users Car条目的ID存储到数组中,然后在需要时抓取该行! :)

答案 1 :(得分:0)

您可以使用str_replacearray_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' ];