首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取此多维数组的所有键

如何获取此多维数组的所有键
EN

Stack Overflow用户
提问于 2017-09-13 20:00:18
回答 2查看 806关注 0票数 0

我也有类似的问题,这里是:solved Problem

但是我希望得到这样一个数组作为1演示数组的最终结果。

非常感谢!

我想要获取的return数组:

代码语言:javascript
复制
    [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 "

我已经尝试过了:但不起作用:

代码语言:javascript
复制
        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;            
        }            

此外,我发现了这个:也许它可以帮助解决我的请求:get all path of an array

EN

回答 2

Stack Overflow用户

发布于 2017-09-13 21:14:07

是的,这个链接做了我想要的:Solution

代码语言:javascript
复制
             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;                                                
             }                                                                 

通过以下方式调用它:

代码语言:javascript
复制
     print_r(getKeyPaths($jsonquotesum));
票数 2
EN

Stack Overflow用户

发布于 2017-09-13 20:02:59

使用array_key()。你会得到所有的钥匙。这里的文档:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46196994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档