douyan1882 2018-06-02 08:18
浏览 40
已采纳

从多维数组中获取一个键返回零

I have an array like this:

Array
(
    [252] => Array
        (
            [0] => Array
                (
                    [id] => 2929850
                    [titulo] => Film 1
                    [desc] => Incididunt sunt eu duis cillum enim duis consequat qui qui reprehenderit. Est voluptate cillum minim cupidatat. Fugiat pariatur veniam est consectetur cupidatat ipsum
                    [duration] => 00:40:39.92
                )

            [1] => Array
                (
                    [id] => 2929848
                    [titulo] => Film 2
                    [desc] => Nostrud consequat enim labore occaecat est velit esse. Lorem magna eu sint magna
                    [duration] => 00:18:06.08
                )

        )

    [251] => Array
        (
            [0] => Array
                (
                    [id] => 2929796
                    [titulo] => Film 3
                    [desc] => Sint laboris anim ipsum officia consectetur. Aute quis ipsum veniam in ea do esse adipisicing exercitation
                    [duration] => 00:35:28.39
                )

            [1] => Array
                (
                    [id] => 2929795
                    [titulo] => Film 4
                    [desc] => Adipisicing consequat cupidatat aliqua labore exercitation esse esse excepteur Lorem. Minim incididunt
                    [duration] => 00:43:22.48
                )

        )

)

I try to get the array keys inside [252] and [251] in this example I need to get 0 and 1. So I did this:

foreach($file as $keys => $files){

        $var = GetKey($files);
    echo $var;
}

function GetKey($array){
    foreach( $array as $key => $arrays){


    return $key;
    }

}

The problem is that this function only returns the zeros, I do not know why.

int (0)
int (0)

If I include an echo it works as expected with 0101 but I want a return not an echo.

foreach($file as $keys => $files){

        $var = GetKey($files);
    echo $var;
}

function GetKey($array){
    foreach( $array as $key => $arrays){


    echo $key;
    }

}

What's the problem?

To make it easier to reproduce the problem, follow the structure of the array in a json

{
    "252": [
        {
            "id": "2929850",
            "titulo": "Film 1",
            "desc": "Incididunt sunt eu duis cillum enim duis consequat qui qui reprehenderit. Est voluptate cillum minim cupidatat. Fugiat pariatur veniam est consectetur cupidatat ipsum",
            "duration": "00:40:39.92"
        },
        {
            "id": "2929848",
            "titulo": "Film 2",
            "desc": "Nostrud consequat enim labore occaecat est velit esse. Lorem magna eu sint magna",
            "duration": "00:18:06.08"

        }
    ],
    "251": [
        {
            "id": "2929796",
            "titulo": "Film 3",
            "desc": "Sint laboris anim ipsum officia consectetur. Aute quis ipsum veniam in ea do esse adipisicing exercitation",
            "duration": "00:35:28.39"    
        },
        {
            "id": "2929795",
            "titulo": "Film 4",
            "desc": "Adipisicing consequat cupidatat aliqua labore exercitation esse esse excepteur Lorem. Minim incididunt",
            "duration": "00:43:22.48"

        }
    ]
}
  • 写回答

2条回答 默认 最新

  • douraoyw194498 2018-06-02 08:28
    关注

    You might use a foreach and set the $key from the foreach as the key in the $result array and use array_keys which returns an array to set that as the value that goes with that $key

    $result = [];
    foreach ($arrays as $key =>  $array) {
        $result[$key] = array_keys($array);
    }
    

    Demo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘