1
我正在創建web服務,其中我已經提供了一個函數,它在php中提供給我多維數組,但要將這些數據發送到android,我們必須將它轉換爲json的響應之後試過很多現在,我得到的各種問題從phparray到jsonarray的類型轉換併發送回應
現在這些功能,該功能提供PHP數組名是getabsendstudent:
public function getabsendstudents($lecture1, $lecture2) {
function bool2str($bool) {
if ($bool === false)
return 'FALSE';
else
return 'TRUE';
}
function compareObjects(&$o1, &$o2) {
echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
}
///queries
$ss = "SELECT * FROM attendence WHERE lecturenumber = $lecture1";
$ss2 = "SELECT * FROM attendence WHERE lecturenumber = $lecture2";
$result = mysql_query($ss);
$result2 = mysql_query($ss2);
// fetching number of rows
$no_of_rows = 0;
$no_of_rows2 = 0;
$no_of_rows = mysql_num_rows($result);
$no_of_rows2 = mysql_num_rows($result2);
///// array objects
$testforstudent = array();
$testforstudent2 = array();
$absentstudent = array();
$presentstudent = array();
//// variable declaration
$len=0;
$result_array_for_lec1[] = array();
$result_array_for_lec2[] = array();
///fetching whole students in arrays
if ($no_of_rows > 0) {
$acount = 0;
$pcout = 0;
while ($row = mysql_fetch_array($result)) {
$testforstudent[] = $row;
$acount = $acount + 1;
}
}
if ($no_of_rows > 0) {
$pcount = 0;
while ($row2 = mysql_fetch_array($result2)) {
$testforstudent2[] = $row2;
$pcount = $pcount + 1;
}
}
/// here we are comparing in status of student
// otherwise student had bunked classes
if ($no_of_rows > $no_of_rows2)
$len = $no_of_rows2;
else
$len = $no_of_rows;
global $p;
global $a;
for ($i = 0; $i < $len; $i++) {
$bo = strtolower($testforstudent[$i]["status"]) == strtolower($testforstudent2[$i]["status"]);
if ($bo) {
////present student
}
else {
$absentstudent[$a] = $testforstudent2[$i];
$a++;
}
}
echo json_encode($absentstudent);
return $absentstudent;
}
這是由這些函數生成的數據
{
"": {
"0": "17",
"id": "17",
"1": "\"12:30\"",
"starttime": "\"12:30\"",
"2": "9",
"classid": "9",
"3": "\"2:30\"",
"endtime": "\"2:30\"",
"4": "cs602",
"lecturecode": "cs602",
"5": "1102",
"teacherid": "1102",
"6": "0827cs131235",
"enrollmentnumber": "0827cs131235",
"7": "\"P\"",
"status": "\"P\"",
"8": "\"24/04/2016\"",
"dateof": "\"24/04/2016\"",
"9": "\"sunday\"",
"dayof": "\"sunday\"",
"10": "2",
"lecturenumber": "2"
},
"1": {
"0": "18",
"id": "18",
"1": "\"12:30\"",
"starttime": "\"12:30\"",
"2": "9",
"classid": "9",
"3": "\"2:30\"",
"endtime": "\"2:30\"",
"4": "cs602",
"lecturecode": "cs602",
"5": "1102",
"teacherid": "1102",
"6": "0827cs131236",
"enrollmentnumber": "0827cs131236",
"7": "\"P\"",
"status": "\"P\"",
"8": "\"24/04/2016\"",
"dateof": "\"24/04/2016\"",
"9": "\"sunday\"",
"dayof": "\"sunday\"",
"10": "2",
"lecturenumber": "2"
}
}
現在我創造了一個更加功能,正趕上$ absentarray與$變量resultarray.and我需要這些功能 碼碼
$result_array = $db->getabsendstudents($lecture1, $lecture2);
if ($result_array) {
$count = 0;
// result array is catching absentstudent array
$response["success"] = 1;
$response["user"][$count]["classid"] = $result_array[$count]["classid"];
$count = $count + 1;
}
else {
// user failed to store
$response["error"] = 1;
$response["error_msg"] = "JSON Error occured in Registartion";
echo json_encode($response);
}
試着把你的調用'echo json_encode($ response);'在else聲明之外。 – jaolstad
我已經做了那件事,我已經把這一個如果陳述也 –