簡體   English   中英

如何獲取此多維數組的所有鍵

[英]how to get all keys of this multidimensional array

我有類似的問題,在這里:已解決問題

但是我想得到這樣的數組作為該演示數組in 1的最終結果。

非常感謝!

我想得到的返回數組:

    [0] => "0.name "
    [1] => "0.id "
    [2] => "0.phone "
    [3] => "0.Base.city "
    [4] => "0.EBase.city "
    [5] => "0.Qty "
    [6] => "1.name "
    [7] => "1.id "
    [8] => "1.phone "
    [9] => "1.Base.city "
    [10]=> "1.EBase.city "
    [11]=> "1.Qty "

我已經試過了:但是不起作用:

        function array_flat(array $myarr)            
        {            
            $myline = "";            
            foreach ($myarr as $key => $value)            
                {            
                if ( $myline == "" ){$myline=sprintf("%s",$myarr[$key]);}            
                else {$myline=sprintf("%s%s",$myline,$myarr[$key]);}            
                }            
            return array($myline);            
        }            

        function array_keys_multi(array $array)            
        {            
            $keys = array();            

            foreach ($array as $key => $value) {            
            $keys[] = $key;            

            if (is_array($value)) {            
                $keys = array_merge($keys, array_keys_multi($value));            
            }            
                else {            
                    $keys = array_flat($keys);            
                }            

            }            

            return $keys;            
        }            

而且我發現了這一點:也許可以幫助解決我的請求: 獲取數組的所有路徑

是的,此鏈接符合我的要求: 解決方案

             function getKeyPaths(array $tree, $glue = '_')                    
             {                                                                 
                 $paths = array();                                             
                 foreach ($tree as $key => &$mixed) {                          
                     if (is_array($mixed)) {                                   
                         $results = getKeyPaths($mixed, $glue);                
                         foreach ($results as $k => &$v) {                     
                             $paths[$key . $glue . $k] = $v;                   
                         }                                                     
                         unset($results);                                      
                     } else {                                                  
                         $paths[$key] = $mixed;                                
                     }                                                         
                 }                                                             

                 return $paths;                                                
             }                                                                 

通過以下方式調用:

     print_r(getKeyPaths($jsonquotesum));

使用array_key()。 您將獲得所有密鑰。 doc在這里:

http://php.net/manual/fr/function.array-keys.php

暫無
暫無

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

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