php:如何将字符串数据更改为数字数据

时间:2013-06-13 05:28:46

标签: php mysql string numeric

您能告诉我如何在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

感谢。

3 个答案:

答案 0 :(得分:1)

进行转换的一种方法是使用数组。例如:

$color_ary = array("black", "white", "blue", ...);

黑色将是0元素,白色将是1,蓝色将是2,等等。

因此,您可以对数组值进行查找,然后获取要存储在数据库中的数值的数组键。

$color_val = array_search("Blue", $color_ary);

这将返回数值2。

答案 1 :(得分: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");

解决方案2

你也可以在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