【发布时间】:2014-05-15 19:57:23
【问题描述】:
我在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()不是。逗号已经存在于第一个元素中。 -
var_dump($column_names)。join()只会插入新的分隔符 BETWEEN 元素已经存在。如果您在连接字符串的开头有一个逗号,那么您的数组中有一个 EMPTY 元素开始。例如您的 JS 代码搞砸了并创建了一个空元素。 PHP 正在做它被告知的事情。 -
或者@MarcB 所说的:-)
-
@MarcB 这正是我的想法。