duancong2965 2019-07-12 23:24
浏览 57
已采纳

循环通过多维数组 - PHP

I'm trying to test each 'voucher' in a multi-dimensional array and I was advised that the best way to do this is the foreach loop. However, I'm not sure how to use $key and $value in order to access the vouchers.

This is how the array looks like : https://imgur.com/a/VXjJ4lG


foreach($allVouchers as $key => $value){
        $signIn = curl_init();
        $voucherURL = 'https://splash-static.ironwifi.com/radius_test.php?ip=' . $ip . '&backup_ip=' . $backupIP . '&auth_port=' . $port . '&secret=' . $secret . '&username=' . $allVouchers["_embedded"]["vouchers"][$key]['code'] . '&password=' . $allVouchers["_embedded"]["vouchers"][$key]['code'] . '&c=*cachebuster*&nas_ip=19.29.39.49';
        curl_setopt($signIn, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($signIn, CURLOPT_URL, $voucherURL);
        $access = curl_exec($signIn);
        curl_close($signIn);
        $accessArray = json_decode($access, true);
                print_r($accessArray);

    }

This is the output of var_dump:


    array(
9
) {
[0]=> array(
6
) {
[\"_links\"]=> array(
4
) {
[\"self\"]=> array(
1
) {
[\"href\"]=> string(
70
) \"https://europe-west2.ironwifi.com/api/67ec3855dc288c4f/vouchers?page=1\" }
[\"first\"]=> array(
1
) {
[\"href\"]=> string(
63
) \"https://europe-west2.ironwifi.com/api/67ec3855dc288c4f/vouchers\" }
[\"last\"]=> array(
1
) {
[\"href\"]=> string(
70
) \"https://europe-west2.ironwifi.com/api/67ec3855dc288c4f/vouchers?page=9\" }
[\"next\"]=> array(
1
) {
[\"href\"]=> string(
70
) \"https://europe-west2.ironwifi.com/api/67ec3855dc288c4f/vouchers?page=2\" } }
[\"_embedded\"]=> array(
1
) {
[\"vouchers\"]=> array(
25
) {
[0]=> array(
8
) {
[\"id\"]=> string(
32
) \"secret id\"
[\"code\"]=> string(
7
) \"mntvre7\"
[\"username\"]=> string(
7

展开全部

  • 写回答

1条回答 默认 最新

  • douqin231881 2019-07-13 00:47
    关注

    Here I think is a similar minimal data structure that is equivalent to yours:

    <?php
    $data =
    [
        [
            '_links' =>
            [
            ],
            '_embedded' =>
            [
                'vouchers' =>
                [
                    [
                        'code' => 23
                    ],
                    [
                        'code' => 47
                    ]
                ]
            ]
        ]
    ];
    
    foreach($data as $item) {
        foreach($item['_embedded']['vouchers'] as $voucher) {
            echo $voucher['code'], "
    ";
        }
    }
    

    Output:

    23
    47
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥20 有人知道这是什么问题吗
  • ¥15 torch框架下的强化学习DQN训练奖励值浮动过低,希望指导如何调整
  • ¥35 西门子博图v16安装密钥提示CryptAcquireContext MS_DEF_PROV Error of containger opening
  • ¥15 mes系统扫码追溯功能
  • ¥40 selenium访问信用中国
  • ¥20 在搭建fabric网络过程中遇到“无法使用新的生命周期”的报错
  • ¥15 Python中关于代码运行报错的问题
  • ¥500 python 的API,有酬谢
  • ¥15 软件冲突问题,软件残留问题
  • ¥30 有没有人会写hLDA,有偿求写,我有一个文档,想通过hLDA得出这个文档的层次主题,有偿有偿!
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部