php循环复杂的帖子

时间:2016-04-08 14:23:15

标签: php associative-array

我是网络编程的新手,我的工作中有这么复杂的帖子这是var_dump($_POST)的结果,我使用gettype()函数确定{if}中的值是否为{ {1}}数组是否是另一个数组,我不方便这样的代码行为,也不是我在循环插入时遇到的问题

问题是,是否有更聪明的技术可以在这个复杂的帖子中循环,其次是如何在名为$arr的2d数组中捕获名称,电话(称为assistant,{{1} })

assistant['name']

3 个答案:

答案 0 :(得分:1)

您可以使用Recursive这样的功能。

<?php
    $arr = array(
                 "name"=> "mmmkkkk", 
                 "phones"=> array(
                                  "01553338897" , 
                                  "09090909098"
                                 ), 
                 "address"=> "107 ostras., Germany", 
                 "assistant"=> array(
                                      "name" => array(
                                                      "kmkkm",
                                                      "komar"
                                                     ), 
                                      "phone"=> array(
                                                      "01043338897" , 
                                                      "09099090090"
                                                     )
                                   )
                );

    function rec($arr) {

        foreach($arr as $key => $p_value)
        {
            if (is_array($p_value)) {
                rec($p_value);
            } else {
                echo $key.":".$p_value."\n";
            }
        }

    }

    rec($arr);

?>

答案 1 :(得分:0)

认为递归

function walkThrough($array, $tabulation = 0) {
    foreach($array as $key => $value) {
        printf ('%s%s:', str_repeat(4*$tabulation, '&nbsp;'));

        if (is_array($value))   walkThrough ( $value, ($tabulation+1) );
        else                   printf('%s<br />', $value);
    }
}

答案 2 :(得分:0)

使用此递归功能

name:mmmkkkk
phones:01553338897
phones:09090909098
address:107 ostras., Germany
name:kmkkm
name:komar
phone:01043338897
phone:09099090090

Out put:

  def validation_div(&block)
    content_tag :div do
      yield
      content_tag :div do
        'This content is never rendered!'
      end
    end
  end