【问题标题】:How to Print multilevel array index in php如何在php中打印多级数组索引
【发布时间】:2016-08-05 09:12:04
【问题描述】:

我有以下数组:

$array=array("string",array(1,2,3),true,"php");

我想打印如下索引:

0=>string


1.0=>1


1.1=>2


1.2=>3


2=>true


3=>php

【问题讨论】:

标签: php arrays multi-level


【解决方案1】:
<?php

$array=array("string",array(1,2,3),true,"php");

foreach($array as $key=>$value)
{
  if(is_array($value))
  {
    foreach($value as $childkey=>$childvalue)
    {
      echo $key . "." . $childkey . "=>" . $childvalue . "\n";
    }
  }
  elseif(is_bool($value))
  {
    echo $key . "=>" . ($value ? "true" : "false") . "\n";
  }
  else
  {
    echo $key . "=>" . $value . "\n";
  }
}

输出:

0=>string
1.0=>1
1.1=>2
1.2=>3
2=>true
3=>php

【讨论】:

    【解决方案2】:

    试试这个

    <?php 
    $array=array("string",array(1,2,3),true,"php");
    foreach($array as $key=>$value){
        if(is_array($value)){
            foreach($value as $key1=>$value1){
                echo $key.".".$key1." => ".$value1."</br>";             
            }           
        }
        else{
            echo $key." => ".$value."</br>";            
        }       
    }
    

    【讨论】:

      【解决方案3】:
      <?php 
      
      $array=array("string",array(1,2,3),"true","php");
      
      foreach($array as $key=>$value){
         if(is_array($value)){
             foreach($value as $key1=>$loop){
               echo $key.'.'.$key1 .'=>'.$loop."<br>";
      
             }
         }else{
            echo $key .'=>'.$value."<br>";
         }
      
      }
      ?>
      

      【讨论】:

        【解决方案4】:

        试试这个代码

        $array=array("string",array(1,2,3),true,"php");
        
        foreach($array as $key=>$val){
               if(is_array($val)){
                   foreach($val as $key1=>$val1){
                     echo $key.'.'.$key1 .'=>'.$val1.'<br/>';
        
                   }
               }else{
                  echo $key .'=>'.$val.'<br/>';
               }
        }
        

        【讨论】:

          【解决方案5】:

          你可以试试这个-

          <?php
          $arr=array("string",array(1,2,3),true,"php");
          $res=convArray($arr);
          foreach($res as $k=>$v){
              echo $k."=>".$v."\n";
          }
          
          function convArray($arr)
          {
              foreach($arr as $k1=>$v1){
                  if(is_array($v1)){
                      foreach($v1 as $k2=>$v2){
                          $res[$k1.'.'.$k2]=$v2;
                      }       
                  }else{
                      $res[$k1]=$v1;
                  }
              }
              return $res;
          }
          

          ?>

          【讨论】:

            【解决方案6】:

            试试这个:

            <?php
            $array=array("string",array(1,2,3,array('a','b','c')),true,"php");
            $kt = array();
            function showarray($arr,$k) {
                global $kt;
                foreach($arr as $key => $v) {
                    $nk = $k == '' ? $key:$k.'.'.$key;
                    if(is_array($v)) {
                        showarray($v,$nk);
                    } else {
                        $kt[$nk]  = $v;
                    }
                }
            }
            showarray($array,"");
            print_r($kt);
            

            【讨论】:

              猜你喜欢
              • 2012-06-22
              • 1970-01-01
              • 1970-01-01
              • 2014-04-13
              • 1970-01-01
              • 2020-03-02
              • 2021-09-19
              • 1970-01-01
              相关资源
              最近更新 更多