【发布时间】:2018-05-11 12:48:27
【问题描述】:
美好的一天!我的问题在这里并不常见......有很多与我的问题相似的问题,但我比较一个是相同的,但他没有像这样声明他/她的变量:$page = array();,但我的我声明了它但它仍然返回值的第一个字符。
来源:PHP String in Array Only Returns First Character
这是我的代码:
主 php 文件
脚本:
var saveStudRegInfo=[[],[]];
studInfoLN = document.getElementById('studRegLN').value;
studInfoFN = document.getElementById('studRegFN').value;
studInfoMN = document.getElementById('studRegMN').value;
studInfoGender = document.getElementById('studRegGender').value;
studInfoCourse = document.getElementById('studRegCourse').value;
studInfoID = document.getElementById('studRegID').value;
studInfoRFID = document.getElementById('studRegRFID').value;
saveStudRegInfo[0][0] = studInfoLN;
saveStudRegInfo[0][1] = studInfoFN;
saveStudRegInfo[0][2] = studInfoMN;
saveStudRegInfo[0][3] = studInfoGender;
saveStudRegInfo[0][4] = studInfoCourse;
saveStudRegInfo[0][5] = Number(studInfoID);
saveStudRegInfo[0][6] = studInfoRFID;
saveStudRegInfo[0][7] = studPicFilename;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("saveWorkSched").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax/saveSAWorkSched.php?studRegInfo="+saveStudRegInfo+"&schedList="+getSAWorkSched+"&studInfoID="+studInfoID, true);
xhttp.send();
保存SAWorkSched.php
$studPerInfo = array();
$studPerInfo = $_GET['studRegInfo'];
$studLN=$studFN=$studMN=$studGender=$studCourse=$studID=$studRFID=$studPicFilename='';
if (!empty($studPerInfo)) {
$studLN = $studPerInfo[0];
$studFN = $studPerInfo[1];
$studMN = $studPerInfo[2];
$studGender = $studPerInfo[3];
$studCourse = $studPerInfo[4];
$studID = (int)$studPerInfo[5];
$studRFID = $studPerInfo[6];
$studPicFilename = $studPerInfo[7];
}
echo var_dump($studLN);
结果将是:
string(1) "d"
这是整个数组的var_dump ($studPerInfo)。
string(74) "Dela Cruz,Juan,Masipag,male,BSInfoTech,1234567890,2342342342342,dummy.jpg,"
【问题讨论】:
-
根据你的var_dump它的字符串,你需要
explode它。 -
您用
$studPerInfo = array();声明数组,但用$studPerInfo = $_GET['studRegInfo'];的字符串覆盖它 -
将 saveSAWorkSched.php 中的
$studLN = $studPerInfo[0];更改为$studLN = $studPerInfo[0][0];,将$studFN = $studPerInfo[1];更改为$studFN = $studPerInfo[0][1];等等... -
据我所知,您应该使用
POST和JSON.stringify( )因为您尝试提交数组,请参阅此答案:stackoverflow.com/a/12097160/2008111 -
@marekful 我这样做了,但它返回一个错误......关于偏移量的一些东西
标签: php arrays multidimensional-array