将用逗号分隔的MySql值转换为PHP值

时间:2019-04-10 15:07:37

标签: php mysql

我正在创建一个节日网络应用程序,我们有两个不同的站点。车辆可以驶向“北方”,“南方”或“两者”。

MySQL表存储以逗号分隔的列表,其值分别为“ 1”,“ 2”或“ 1,2”。

基本上,我需要变量$ site是; 北 南 要么 两者

我尝试了以下操作(以及其他lsot迭代),但无法获得所需的输出

$a = array($r['site']);

if (in_array(array('1', '2'), $a)) {
  $this->site = 'both';
}

if (in_array('1', $a)) {
  $this->site = 'north';
}

if (in_array('2', $a)) {
  $this->site = 'south';
}

所需结果是$ this-> site等于;

1 =北

2 =南

1,2 =两者

1 个答案:

答案 0 :(得分:0)

array()中包装字符串不会将其拆分为数组。您可以在其上使用explode()或简单的方法:

$map = array(1 => 'north', 2 => 'south', '1,2' => 'both');
$this->site = $map[$r['site']];

但是,将逗号分隔的列表存储在单个数据库列中并不是一个好主意。假设您也有 East West North 1 North 2 等,这很混乱。