2 回答
TA贡献2036条经验 获得超8个赞
POST数据作为简单name=value的对发送,没有指定数据类型的语法,所有内容都被解析为字符串。
您可以调用intval($_POST['marketing_prefs'][$i]['enabled'])将其转换为整数。
另一种选择是将marketing_prefs数组转换为 JSON。
$.ajax({
dataType: 'json',
type: 'POST',
url: ajax_object.ajaxurl,
data: {
action: 'acrew_save_mc_marketing_prefs',
marketing_prefs: JSON.stringify(marketing_prefs)
},
success: function(response) {
console.log('#####', response);
},
error: function(response) {
console.error('!!!!!', response);
}
});
然后在PHP中你可以这样做:
$marketing_prefs = json_decode($_POST['marketing_prefs'], true);POST数据作为简单name=value的对发送,没有指定数据类型的语法,所有内容都被解析为字符串。
您可以调用intval($_POST['marketing_prefs'][$i]['enabled'])将其转换为整数。
另一种选择是将marketing_prefs数组转换为 JSON。
$.ajax({
dataType: 'json',
type: 'POST',
url: ajax_object.ajaxurl,
data: {
action: 'acrew_save_mc_marketing_prefs',
marketing_prefs: JSON.stringify(marketing_prefs)
},
success: function(response) {
console.log('#####', response);
},
error: function(response) {
console.error('!!!!!', response);
}
});
然后在PHP中你可以这样做:
$marketing_prefs = json_decode($_POST['marketing_prefs'], true);
TA贡献1906条经验 获得超10个赞
正如 Barmar 所说,因为 GET/POST 不能指定数据类型(这本身就是一种咆哮),所以一种方法不是强制转换它。
非常粗略的例子:
var_dump((bool) <variable>);
问题是,如果它不是“真”、“空”或我相信 0 它将返回真。我很着急,否则我会更好地为你冲掉它。
- 2 回答
- 0 关注
- 99 浏览
添加回答
举报