【问题标题】:how to get parent array index from multidimensional array in php如何从php中的多维数组中获取父数组索引
【发布时间】:2013-07-12 04:51:00
【问题描述】:

我有一个数组 $arr。

当我打印它时,它会显示如下结果。

Array
(
    [0] => Array
        (
            [name] => homeandgarden-Control Type
            [1] => Array
                (
                    [0] => product
                )

        )

    [1] => Array
        (
            [name] => homeandgarden-Depth
            [1] => Array
                (
                    [0] => product
                )

        )

    [2] => Array
        (
            [name] => homeandgarden-Height
            [1] => Array
                (
                    [0] => product
                )

        )

    [3] => Array
        (
            [name] => homeandgarden-Load Type
            [1] => Array
                (
                    [0] => product
                )

        )

    [4] => Array
        (
            [name] => homeandgarden-Machine Type
            [1] => Array
                (
                    [0] => product
                )

        )

    [5] => Array
        (
            [name] => homeandgarden-Type
            [1] => Array
                (
                    [0] => product
                )

        )

    [6] => Array
        (
            [name] => homeandgarden-Width
            [1] => Array
                (
                    [0] => product
                )

        )

    [7] => Array
        (
            [name] => computer & ele
            [label] => 
            [singular_label] => 
            [hierarchical] => 1
            [show_ui] => 1
            [query_var] => 1
            [rewrite] => 1
            [rewrite_slug] => 
            [0] => Array
                (
                    [search_items] => 
                    [popular_items] => 
                    [all_items] => 
                    [parent_item] => 
                    [parent_item_colon] => 
                    [edit_item] => 
                    [update_item] => 
                    [add_new_item] => 
                    [new_item_name] => 
                    [separate_items_with_commas] => 
                    [add_or_remove_items] => 
                    [choose_from_most_used] => 
                )

            [1] => Array
                (
                    [0] => product
                )

        )

    [8] => Array
        (
            [name] => computer
            [label] => 
            [singular_label] => 
            [hierarchical] => 1
            [show_ui] => 1
            [query_var] => 1
            [rewrite] => 1
            [rewrite_slug] => 
            [0] => Array
                (
                    [search_items] => 
                    [popular_items] => 
                    [all_items] => 
                    [parent_item] => 
                    [parent_item_colon] => 
                    [edit_item] => 
                    [update_item] => 
                    [add_new_item] => 
                    [new_item_name] => 
                    [separate_items_with_commas] => 
                    [add_or_remove_items] => 
                    [choose_from_most_used] => 
                )

            [1] => Array
                (
                    [0] => product
                )

        )

    [9] => Array
        (
            [name] => homeandgardenairconditioner-Type
            [label] => 
            [singular_label] => 
            [hierarchical] => 1
            [show_ui] => 1
            [query_var] => 1
            [rewrite] => 1
            [rewrite_slug] => 
            [0] => Array
                (
                    [search_items] => 
                    [popular_items] => 
                    [all_items] => 
                    [parent_item] => 
                    [parent_item_colon] => 
                    [edit_item] => 
                    [update_item] => 
                    [add_new_item] => 
                    [new_item_name] => 
                    [separate_items_with_commas] => 
                    [add_or_remove_items] => 
                    [choose_from_most_used] => 
                )

            [1] => Array
                (
                    [0] => product
                )

        )

    [10] => Array
        (
            [name] => homeandgardendishwasher-Control Type
            [label] => 
            [singular_label] => 
            [hierarchical] => 1
            [show_ui] => 1
            [query_var] => 1
            [rewrite] => 1
            [rewrite_slug] => 
            [0] => Array
                (
                    [search_items] => 
                    [popular_items] => 
                    [all_items] => 
                    [parent_item] => 
                    [parent_item_colon] => 
                    [edit_item] => 
                    [update_item] => 
                    [add_new_item] => 
                    [new_item_name] => 
                    [separate_items_with_commas] => 
                    [add_or_remove_items] => 
                    [choose_from_most_used] => 
                )

            [1] => Array
                (
                    [0] => product
                )

        )
)

我有一个变量 $categ。例如 $categ = "homeandgardenairconditioner-Type" 那么我想知道“name”为“homeandgardenairconditioner-Type”的父数组的索引

即 --- o/p 应该是 9

如何获取此索引。请帮帮我

谢谢

【问题讨论】:

  • @PLB 我不知道如何遍历这个数组,所以我首先检查它的名称,然后获取它的父数组索引,这就是我问的原因。谢谢
  • 是否已经定义您的值将位于数组的第一维?或者它应该用于在$array[$i][$j][$k][$etc] 中查找值?
  • @Frederik.L 我有“名字”。你能写出你的代码吗?谢谢

标签: php arrays


【解决方案1】:

我想你正在寻找这个:

function getIndex($name, $array){
    foreach($array as $key => $value){
        if(is_array($value) && $value['name'] == $name)
              return $key;
    }
    return null;
}

【讨论】:

  • $index = array_search( $value, array_column( $array, 'name' ) ); 我觉得这个也行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 2018-03-13
  • 2019-01-06
  • 2017-09-19
  • 1970-01-01
  • 2018-04-25
  • 1970-01-01
相关资源
最近更新 更多