php - 将字符串附加到自身, 'X' 次(其中 'x' 是变量)

标签 php mysql

我有一个 HTML 页面,用户可以在其中选择 list 中的多个值。根据所选项目的数量,这就是我想将变量附加到自身的次数,用逗号分隔(如果有意义的话)

例如,如果我的字符串是 $string = "'$apple'"(是的,我的字符串应该采用这种格式,您会明白为什么)并且用户选择了 3 list 中的项目,我的字符串最终将是:

'$apple', '$apple', '$apple'

当用户提交页面时,这里是 PHP:

$category = mysql_real_escape_string($_POST['category']);
$string = 'test';

if (count($category) === 1) {
//donothing
}
else{
$category = implode(",",$category);
}
$numcat = count($category);  //count number of items in $category, save value to $numcat
$query = mysql_query("INSERT INTO table (". $category .") VALUES ('$string')");

作为引用,如果用户从 HTML 表单中选择了“apple, banana, grape”,我希望查询基本上如下所示:

$query = mysql_query("INSERT INTO table (apple, banana, grape) VALUES ('$string', '$string', '$string')");

另一个例子,如果用户从 HTML 表单中只选择了“apple, grape”,我希望它最终看起来像这样:

$query = mysql_query("INSERT INTO table (apple, grape) VALUES ('$string', '$string')");

INSERT INTO table (apple, grape) 已经通过 INSERT INTO table (". $category .") 解决了,因为我已经将它内爆并分离了逗号,但我还需要字符串在 VALUES 中显示“X”次,具体取决于 count($category) 的结果?

我该怎么做?

最佳答案

在我看来,您想获取一个变量和一个计数并从中生成一个字符串。如果是这样的话,这行得通吗:

$value = "'x'";
$count = 3;
$a = array_fill(0, $count, $value);
$str = implode(',', $a);

然后,$str 将包含“'x','x','x'”。

你可以问我为什么不用str_repeat。我还没有看到使用胶水的方法。 implode 函数让我可以使用 , 作为粘合剂。我只需要先把它变成一个数组。

关于php - 将字符串附加到自身, 'X' 次(其中 'x' 是变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162673/

相关文章:

php - Yii 中下拉选项的默认值

php - 如何在php中插入sql查询时显示正确的消息?

java - 将@Transactional 与 JOOQ 一起使用

mysql - MySQL中的多个表应该如何排列

javascript - 使用 Ajax 和 PHP 上传音频文件

javascript - jQuery - 将事件类添加到菜单中的子菜单

php - 从 GAE 向 GCP 日志条目添加标签

php - 使用 SQL 和 PHP 进行多重 INSERT/UPDATE

mysql - 在一次查询中获取同一张表中每个用户的推荐计数

php - 显示特定记录的详细信息