[英]Accessing multidimensional array php
我有一個由jQuery ajax發送到php服務的數據數組:
requestAjax = jQuery.ajax({
type: "POST",
url: "ajax/ajax.salva-valutazione.php",
data: {formdata:formdata, arrAccessori: arrAccessori},
// data:formdata,
dataType: "json",
success: function(risposta){
alert(".."+risposta);
}
});
如果我對所有數據執行print_r,則在php響應頁面中使用:
error_log(print_r($arrValutazione, TRUE) );
我收到錯誤日志:
[formdata] => nome=John&cognome=Doe&indirizzo=My+address&citta=London&user_name=fedepupo&clienteID=1
如果我這樣做
error_log(print_r($arrValutazione['formdata'], TRUE) );
我得到
nome=John&cognome=Doe&indirizzo=My+address&citta=London&user_name=fedepupo&clienteID=1
在錯誤日志中。
我的問題是如何直接訪問nome,cognome(...)值,因為如果我嘗試這樣做
error_log(print_r($arrValutazione['formdata']['cognome'], TRUE) );
我得到“ n”,也得到
error_log(print_r($arrValutazione['formdata'][0]['cognome'], TRUE) );
我得到相同的值“ n”。
有什么建議么?
在錯誤日志中。
我的問題是如何直接訪問nome,cognome(...)值,因為如果我嘗試這樣做
error_log(print_r($ arrValutazione ['formdata'] ['cognome'],TRUE));
我得到“ n”,也得到
error_log(print_r($ arrValutazione ['formdata'] [0] ['cognome'],TRUE));
我得到相同的值“ n”。
$arrValutazione['formdata'] = nome=John&cognome=Doe&indirizzo=My+address&citta=London&user_name=fedepupo&clienteID=1
原因是您訪問的是字符串而不是數組,所以您總是得到n
這是演示
$ php -r '$string="abcdefgh";
echo $string[0].PHP_EOL;
echo $string[2].PHP_EOL;
echo $string["unknown_index"].PHP_EOL;'
a
c
PHP Warning: Illegal string offset 'unknown_index' in Command line code on line 4
a
使用下面的代碼獲取每個變量的值
parse_str($arrValutazione['formdata'],$output);
print_r($output);
$nome = $output['nome'];
$cogname = $output['cogname'];
同樣,您可以獲取任何變量詳細信息。
請嘗試以下代碼,
parse_str($arrValutazione['formdata'],$formdata);
error_log(print_r($formdata['cognome'], TRUE));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.