在php中读取jquery数组
我试图通过php脚本中的post检索数组的值在php中读取jquery数组,php,jquery,arrays,Php,Jquery,Arrays,我试图通过php脚本中的post检索数组的值 var data = []; table.rows({ selected: true }).every(function(index){ // Get and store row ID data.push(this.data()[0]); //create a 1 dimensional array }); //send data via ajax $.ajax({
var data = [];
table.rows({ selected: true }).every(function(index){
// Get and store row ID
data.push(this.data()[0]); //create a 1 dimensional array
});
//send data via ajax
$.ajax({
url: '/...../...',
type: 'POST',
data: {userid:data},
dataType: 'json',
到目前为止,在我的PHP脚本中,我无法解码数组。我试过很多方法
$myArray = $_REQUEST['userid'];
foreach ($arr as $value) {
$userid= $value; //for now just trying to read single item
}
我试过打印($myArray);这将成功地将数组内容打印到屏幕上
我正在尝试检索要处理的值!请给我指出正确的方向只需使用:
echo json_encode($myArray);
我认为PHP不会将您称之为“数据”的数组识别为数组。您不能将表行中的数据转换为JavaScript对象中的值,将其编码为JSON字符串,然后将其发布到PHP脚本中,并在PHP端使用JSON解码($\u post[“userid]”)将其转换为PHP数组。您发布到PHP的对象不是一个特定的jQuery对象。相反,它是一个JSON对象,或者更确切地说是一个JSON字符串。我猜你不能像在PHP中读取常规数组那样读取该对象 您可能希望尝试使用
json\u decode()
对字符串进行解码。使用true作为函数参数,它将返回一个php数组,如本stackoverflow回答中所建议的
json\u decode()
:您是foreach
的文档正在循环$arr
,该循环不存在。您的数组设置为$myArray,因此请在for中使用它
$myArray = $_REQUEST['userid'];
foreach ($myArray as $value) {
$userid= $value; //for now just trying to read single item
}
我相信您也应该能够根据您的var\u转储在
$\u POST
中找到您的值:
array(1) { ["userid"]=> string(21) "assssssss,camo,castor" }
如果我们假设“assss,camo,castor”是3个不同的用户名。
您应该使用以下选项:
$userids=explode(",",$myArray->userid);
foreach($userids as $userid){
// use $userid
}
您想如何处理这些值?
$myArray
但是foreach($arr)
?你确定你在这里做什么吗?可能是重复的。你能告诉我们var_转储的结果吗。请查看“var_dump”的结果:数组(1){[“userid”]=>string(21)“assssss,camo,castor”}@monderskyIve在发布之前尝试对数组进行编码。这会导致循环引用错误您是否先将值添加到对象而不是数组中?此语句是否不简单地将数组发回调用脚本?
$userids=explode(",",$myArray->userid);
foreach($userids as $userid){
// use $userid
}