PHP - 删除额外的逗号

STE*_*001 1 php mysql

我有3个post变量,我需要在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)
Run Code Online (Sandbox Code Playgroud)

如果变量值被发布为id = 1,则name-steve和country = usa则需要存储为

结果 - 1,史蒂夫,美国

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

结果 - 1,史蒂夫(没有最后一个逗号将存储)

如果只传递id和国家,那么需要存储为

结果 - 1,美国(不会存储额外的逗号)

我尝试过:

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

我怎样才能在php-mysql中实现这一点?

spl*_*h58 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);
Run Code Online (Sandbox Code Playgroud)