javascript
1entry = [ 2 ['test','AA123456','test','pass'] 3 ,['test2'] 4 ,['test3','BB123456'] 5 ];
上記のような多次元配列をPHPに投げたときにPHP側でどう受け取ればいいのかがわかりません。どのようにしたら多次元配列を受け取れるのかを教えていただけないでしょうか?
phpには以下のように投げています。
※dataEncodeをした結果は以下のようになっています。
"0= ['test','AA123456','test','pass']&1=["test2"]&2=['test3','BB123456']"
var selectQuery = new Object(function(entry, callback, error){ if(typeof callback != 'function')return false; if(typeof error != 'function')error = function(arg){}; var requestObj = common.createXMLHttpRequest(); requestObj.open('POST', selectQuery.php, true); requestObj.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); requestObj.setRequestHeader( 'X-Requested-With','XMLHttpRequest' ); requestObj.send(selectQuery.dataEncode(entry)); requestObj.onreadystatechange = function(){ if (requestObj.readyState === 4 ) { if(requestObj.status === 200){ var jsonData = JSON.parse(requestObj.responseText); callback(jsonData); }else{ error(requestObj); } } } return true; }); selectQuery.php = root + '/select_query.php'; selectQuery.dataEncode = function(data){ if(typeof data != 'object')return false; var params = []; for(var idx in data){ var tmp = data[idx]; if(tmp.length < 1)return false; params.push(idx + '=' + JSON.stringify(tmp)); } return params.join( '&' ).replace( /%20/g, '+' ); }
phpでの受け取り方配下のようにしています。
$input = array_merge($_GET, $_POST);
回答3件
あなたの回答
tips
プレビュー