Php 访问多维$\u POST数组

Php 访问多维$\u POST数组,php,arrays,ajax,multidimensional-array,Php,Arrays,Ajax,Multidimensional Array,通过ajax调用,我发送了一些数据,如 rows[tr1][rowDesc]:ccccc rows[tr1][rowTaxable]:77777 rows[tr1][rowVAT]:22% rows[tr1][rowTAX]:17110.94 rows[tr1][rowTOTAL]:94887.94 rows[tr2][rowDesc]:ddddd rows[tr2][rowTaxable]:55555 rows[tr2][rowVAT]:22% rows[tr2][rowTAX]:1222

通过ajax调用,我发送了一些数据,如

rows[tr1][rowDesc]:ccccc
rows[tr1][rowTaxable]:77777
rows[tr1][rowVAT]:22% 
rows[tr1][rowTAX]:17110.94
rows[tr1][rowTOTAL]:94887.94
rows[tr2][rowDesc]:ddddd
rows[tr2][rowTaxable]:55555
rows[tr2][rowVAT]:22% 
rows[tr2][rowTAX]:12222.1
rows[tr2][rowTOTAL]:67777.1
它给出了
print\u r($_POST['rows'])以下多维数组

Array 
( 
[tr1] => Array
            ( 
              [rowDesc] => ccccc 
              [rowTaxable] => 77777 
              [rowVAT] => 22% 
              [rowTAX] => 17110.94 
              [rowTOTAL] => 94887.94 
            ) 
[tr2] => Array 
            ( 
              [rowDesc] => ddddd 
              [rowTaxable] => 55555
              [rowVAT] => 22% 
              [rowTAX] => 12222.1 
              [rowTOTAL] => 67777.1 
             )
 )
我尝试使用foreach循环访问子阵列,它只提供第一个循环。那么,如何访问各种“tr1、tr2、tr3、ecc…”值和键


谢谢您的建议。

您可以执行以下操作来访问子阵列:

foreach($_POST['rows'] as $array){
    foreach($array as $key => $value){
        echo $key . " : " . $value . " ";
    }
    echo "<br />";
}
试试看


预期的输出是什么?您是如何尝试在数组中循环的?显示您的代码。您是否可以发布用于访问子数组的代码,因为在某些情况下,如果不先访问父数组,则无法访问子数组way@aldrin27输出应该是我可以循环子数组的键和值。例如:
foreach($\u POST['tr$i']as$key=>$value){//do something}
。这有意义吗?@Memor-X我仍然无法访问子数组,这就是重点。这只给了我第一个子数组的第一个$key-$value对:rowDesc ccccc-hmm…这没有意义,我知道。这就是我被绊倒的原因。它适用于0,1,2,3 ecc…子阵列,但不适用于“tr1”、“tr2”、“tr3”、ecc…它可以通过@Someone33工作。在循环通过子集之前,最好先检查第一个数组的值是否为数组,否则会抛出错误。否:-(.我只得到第一个子数组的第一个$key-$value对。很抱歉我之前的评论,我使用了“return”而不是“echo”。使用return它只返回第一对。因此您的代码似乎有效。我尝试了两个小时:-)很高兴能帮上忙。干杯!:)但现在我不知道该投哪一个答案,因为他们都是正确的。@33像维德辛兹这样的人说,用心去做。:)
rowDesc : ccccc rowTaxable : 77777 rowVAT : 22% rowTAX : 17110.94 rowTOTAL : 94887.94
rowDesc : ddddd rowTaxable : 77777 rowVAT : 22% rowTAX : 12222.1 rowTOTAL : 67777.1 
foreach($_POST['rows'] as $key => $value){

    if(is_array($value)){

       foreach($value as $subkey => $subvalue){

          echo $subkey;
          echo $subvalue;

       }

    }else{

      echo $key;
      echo $value;

    }
}