Php 需要更好的方法映射数据库字段名吗

Php 需要更好的方法映射数据库字段名吗,php,Php,我正在从事一个项目,我们正在为不同的客户将表字段导出为XML文件 其中,表的列名将用作XML文件中的节点名 但几乎每个客户都希望有一个用户友好的节点名。所以我们必须使用关联数组将表的列名映射到所需的节点名 像 有没有其他/更好的方法来绘制它们的地图 谢谢如果您有可读的列名(如我的列名),那么您可以将其转换为友好的名称,如我的列名 ucfirst(str_replace("_", " ", $columnName)); 如果您需要特定的名称(如my_column\u name必须是我的列才能在类

我正在从事一个项目,我们正在为不同的客户将表字段导出为XML文件 其中,表的列名将用作XML文件中的节点名

但几乎每个客户都希望有一个用户友好的节点名。所以我们必须使用关联数组将表的列名映射到所需的节点名

有没有其他/更好的方法来绘制它们的地图


谢谢

如果您有可读的列名(如
我的列名
),那么您可以将其转换为友好的名称,如
我的列名

ucfirst(str_replace("_", " ", $columnName));
如果您需要特定的名称(如
my_column\u name
必须是我的
列才能在类别中使用),那么您需要数组映射:

$map = [
    'my_column_name' => 'Column name of something',
    ...
];

不能同时存储两者吗?这是一种关联数组的基本用法。您可以将其存储在一个奇特的翻译函数或单独的语言类中,但是您仍然需要在某个地方使用数组来映射到和从。我能想到的唯一其他可行的方法是对每个客户的结果输出文件使用XSLT转换。因此,每个文件都将以相同的方式输出,但在将其发送给客户之前,您需要对其运行一个简单的XSL转换(每个客户使用不同的文件或不同的映射文件作为输入),以更改名称。这很容易做到,也很容易更新,但只有在您已经相对熟悉XSLT的情况下,我才会这样做。@Matt:XSLT才是我的出发点,而不是最后的手段。当然,这就是XML的首要意义@symcbean我在哪里说过这是我最后的选择?我也会从这里开始,但我可以理解为什么有些人在询问关于一些现有PHP代码的PHP问题时,如果他们还不了解基本知识,可能会想使用PHP解决方案。。。XSLT和大多数东西一样,是一种“如果您知道怎么做就简单”的选项。
$map = [
    'my_column_name' => 'Column name of something',
    ...
];