簡體   English   中英

訪問多維數組PHP

[英]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));

這是參考鏈接, http://php.net/manual/en/function.parse-str.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM