您能告诉我如何在php和mysql脚本中将此字符串更改为数字数据。
我需要根据用户输入在car_model_temp表中插入数据。
这是用户输入
Brand: Honda
carcolor: Black
transmission: Automatic
fuel: Petrol
Audio: Mp3
我的查询将根据用户输入检查car_model表中的数据。
car_model表
Brand carcolor transmission fuel audio
Honda Black Automatic Petrol Mp3
Ford Blue Manual Diesel Dvd
Honda Green Automatic Petrol Dvd
检查用户输入后,如何将数据插入car_model_temp。我想显示这样的结果:
car_model_temp
Brand carcolor transmission fuel audio
1 1 1 1 1
0 0 0 0 0
1 0 1 1 0
感谢。
答案 0 :(得分:1)
进行转换的一种方法是使用数组。例如:
$color_ary = array("black", "white", "blue", ...);
黑色将是0元素,白色将是1,蓝色将是2,等等。
因此,您可以对数组值进行查找,然后获取要存储在数据库中的数值的数组键。
$color_val = array_search("Blue", $color_ary);
这将返回数值2。
答案 1 :(得分:1)
你可以在php中使用switch case:
function to_number($input)
{
switch($input)
{
case "Honda":
case "Black":
case "Automatic":
return 0;
case "Ford":
case "Diesel":
case "Dvd":
return 1;
default:
return;
}
}
然后将字符串作为参数传递给此函数。 Control Structures - Switch case
$num = to_number("string");
你也可以在php中使用associative arrays:
$to_number = array(
"Honda" => 0,
"Black" => 0,
"Automatic" => 0,
"Ford" => 1,
"Diesel" => 1,
"Dvd" => 1,
);
然后可以访问字符串的相应数字,如下所示:
$num = $to_number[$string];
答案 2 :(得分:1)
在您的选择查询中使用类似的内容
IF(`Brand `='Honda', 1, 0) AS `Brand `,
IF(`carcolor`='Black', 1, 0) AS `carcolor`,
请点击此链接了解详情 LINK