duanjie6912 2016-04-11 08:47
浏览 167
已采纳

对数组属性的访问包含laravel中的json格式元素

suppose I have an Array like this :

$myArray =
[
    {
        "id": 86,
        "name": "admin/login"
    },
    {
        "id": 87,
        "name": "admin/logout"
    },
    {
        "id": 88,
        "name": "admin/desktop"
    }
]

Each element of array has json format. and now I want to get name of element that have id of 87 for example.

Firstly How can I found that is there element with this id then get name property of that?

  • 写回答

3条回答 默认 最新

  • dpruwm6206 2016-04-11 10:18
    关注

    Decode JSON string into array. Then use Laravel's array_first method.

    <?php
    $myArray = '[{"id": 86,"name": "admin/login"},{"id": 87,"name": "admin/logout"},{"id": 88,"name": "admin/desktop"}]';
    
    // Decode into array
    $array = json_decode($myArray, true);
    
    // Find item with correct id
    $result = array_first($array, function($key, $value){
      return $value['id'] === 87;
    }, false);
    
    if ($result) {
        echo 'Item found, it\'s name is: '.$result['name'];
    }
    

    If you have id you like to find in variable, you have to use use construct.

    // ID to search for
    $searchID = 87;
    
    // Find item with correct id
    $result = array_first($array, function($key, $value) use($searchID){
      return $value['id'] === $searchID;
    }, false);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启