PHP - 删除额外的逗号

时间:2016-06-08 09:18:56

标签: php mysql

我有3个帖子变量&我需要在mysql表中的单个字段中保存这3个变量值

below are table field details:
-------------------------------
id int(11)
name varchar(100)
country varchar(100)

details varchar(100) (this field used for store all 3 variables value)

如果变量值过帐为id = 1,则名称为steve& country = usa然后需要存储为

结果 - 1,史蒂夫,美国

现在问题是所有3变量都是可选的,所以如果只传递id&名称需要存储为

结果 - 1,steve (不会存储最后一个逗号)

如果通过了id&国家然后需要存储为

结果 - 1,美国(不会存储其他逗号)

我试过了:

if(isset($data['id']) || isset($data['name']) || isset($data['country']))
{
    $details=$data['id'].",".$data['name'].",".$data['country'];
}

我如何在php-mysql中实现这一目标?

3 个答案:

答案 0 :(得分:7)

将现有值放在数组中并在

之后将其内爆
$details = [];

if(isset($data['id']) and !empty($data['id'])) $details[] = $data['id'];
if(isset($data['name']) and !empty($data['name'])) $details[] = $data['name'];
if(isset($data['country']) and !empty($data['country'])) $details[] = $data['country'];
$details = implode(',', $details);

答案 1 :(得分:1)

您的代码

if(isset($data['id']) || isset($data['name']) || isset($data['country']))
{
$details=$data['id'].",".$data['name'].",".$data['country'];
}

只需在代码后添加此内容即可。 你完成了。

$details = trim($details,',');

答案 2 :(得分:0)

$text = '';
foreach($details as $k=>$v) { if($v) $text .= ($text?',':'') . $v; }