php:如何将存储值更改为用户友好的值!

php:如何将存储值更改为用户友好的值!,php,mysql,user-interface,str-replace,Php,Mysql,User Interface,Str Replace,简而言之, Field:ProfileItems = "action,Search,Work,Flow,pictures"; Mysql query = "SELECT ProfileItems FROM addUsers"; 然后我用分解,制作数组,例如:数组('action','search',等等) 并为, 结果: 在上面尝试过,但失败了:D!。。你能帮我一个忙吗?在PHP中有一个映射不是一个不合理的方法,但是你在做stru-ireplace()向后:它是搜索、替换、主题,所以在你的例

简而言之,

Field:ProfileItems = "action,Search,Work,Flow,pictures";

Mysql query = "SELECT ProfileItems FROM addUsers";
然后我用
分解
制作数组,例如:
数组('action','search',等等)

并为

结果:
在上面尝试过,但失败了:D!。。你能帮我一个忙吗?

在PHP中有一个映射不是一个不合理的方法,但是你在做
stru-ireplace()
向后:它是
搜索、替换、主题
,所以在你的例子中
stru-ireplace($db,$eu,$string)

但是仅仅在逗号分隔的字符串列表上执行str_ireplace()
并不理想。首先,想象一下,如果在对ABS进行替换后,您遇到了另一个与锁匹配的配置文件项(恰好出现在“防抱死制动系统”中)。哎呀。现在您已经覆盖了以前的替换项

像这样的怎么样:

$prase = array("ABS" => "ABS (Anti lock braking System)"
         ,"DriverAirBag" => "Air bags");
$string= "ABS,DriverAirbag,GOGO,abs";
$fields = explode(',', $string);

foreach($fields as $field) {
    $friendly = $field;
    if (isset($phrase[$field]))
        $friendly = $phrase[$field];

    echo htmlspecialchars($friendly) . ': <input type="text" name="' . htmlspecialchars($field) . '" />
}
现在,您可以为每个字段返回一行(不需要
explode
required!),并且每行都包含计算机友好的名称和人类友好的名称。

非常感谢:)至于db模式,我确实需要更改,但不知道更好的方法!,我当前的应用程序。(或多或少是一个调查应用程序)。数据库字段:ID、问题、答案、目标、类型例如数据:问题:安全选项您需要的答案:ABS=ABS(防抱死制动系统),DriverArBag=Airbags“目标:安全类型=复选框准备:所以当我显示问题i时,hv会将答案分解两次,然后根据类型(选择,复选框,文本)设置显示类型结果:问题:(准备好的答案)。有没有更好的设计思路:)?!
//created asoc array with Key = search item and value = user friendly value
$prase = array("ABS" => "ABS (Anti lock braking System)"
         ,"DriverAirBag" => "Air bags");
$string= "ABS,DriverAirbag,GOGO,abs";

foreach($prase as $db=>$eu){
    echo "if $db will be $eu<br>";
    echo str_ireplace($eu,$db,$string);
}
echo $string;
$prase = array("ABS" => "ABS (Anti lock braking System)"
         ,"DriverAirBag" => "Air bags");
$string= "ABS,DriverAirbag,GOGO,abs";
$fields = explode(',', $string);

foreach($fields as $field) {
    $friendly = $field;
    if (isset($phrase[$field]))
        $friendly = $phrase[$field];

    echo htmlspecialchars($friendly) . ': <input type="text" name="' . htmlspecialchars($field) . '" />
}
SELECT field, name
FROM user_field
INNER JOIN field USING (field_id)