PHP连接是在第一个值之前添加逗号
我在PHP连接是在第一个值之前添加逗号,php,jquery,sql,Php,Jquery,Sql,我在PHP中使用了一个join语句,它在第一个值之前添加了一个逗号。我不知道为什么 这是密码 $columns = join(', ', $column_names). ' '; 结果如下 ,value1, value2, value3 它是使用AJAX发送的,下面介绍如何使用jQuery在前端创建数组 $('#preview_button').click(function() { var rc_column_names = ['not', 'set']; if($('#rc
PHP
中使用了一个join语句,它在第一个值之前添加了一个逗号。我不知道为什么
这是密码
$columns = join(', ', $column_names). ' ';
结果如下
,value1, value2, value3
它是使用AJAX
发送的,下面介绍如何使用jQuery
在前端创建数组
$('#preview_button').click(function() {
var rc_column_names = ['not', 'set'];
if($('#rc_custom_columns').is(':checked')) {
rc_column_names = [];
$(".list2 li").each(function() {
rc_column_names.push($(this).text());
});
}
$.ajax({
url:'core/functions/create_report_preview.php',
type: 'post',
data: { 'rc_column_names': rc_column_names }
}).fail (function(data) {
//code
}).done(function(data) {
//code
});
});
所以,问题是。这个逗号是从哪里来的?为什么要在第一个值之前添加它?第一个数组元素可能是空值。调用
join()
之前,请使用array\u filter()
删除数组中的空值。如果它实际上是,value1,value2,value3
(第一个逗号后有空格),则$column\u names`必须有一个空字符串作为第一个值
否则,逗号来自其他代码。它可能是您的第一个值的一部分,也可能是其他代码中的输入错误。尝试执行
var\u转储($column\u names)
join()。逗号已经在第一个元素中。var\u dump($column\u names)
join()
将只在已经存在的元素之间插入新的分隔符。如果在连接字符串的开头有一个逗号,那么数组中就有一个空元素作为开头。e、 你的JS代码搞砸了,创建了一个空元素。PHP正在做它被要求做的事情。或者@MarcB说:-)@MarcB这就是我的想法。谢谢Jessica,我同意你的看法。我只是找不到任何地方添加了null或空字符串。我想我只是想证实我的怀疑。我将开始转储和回显内容,以查看结果。将来,您将在这之前进行回显和var_转储测试。(多么漂亮的工具,我不知道它的存在。无知又是我的堕落,=)。谢谢