首页 > 解决方案 > 隐藏数组 laravel 的索引

问题描述

我想问一下,如何在角色登录中隐藏名称。所以我在 laravel 中有这样的输出:

{
    "npp":"822345",
    "nama":"Handra Pratama",
    "bus_pergi":1,
    "bus_pulang":4,
    "hotel":null,
    "kamar":"K1",
    "teman_kamar":[
        {
            "nama":"Handra Pratama"
        },
        {
            "nama":"Louis Vernando"
        },
        {
            "nama":"Hallo Budi"
        }
    ]
}

我想在 teman_kamar 中隐藏角色 handra(因为我使用 handra 用户名登录),如果我登录角色 louis,我想隐藏 louis teman_kamar,我该怎么办?

标签: laravel

解决方案


您的输出在 JS 中,因此您可以在 JS 中使用过滤器功能。但是,如果您想在 PHP 中执行此操作,这是我运行的一个示例,它适用于您的情况,因为您始终拥有要隐藏在名字键下的名称。

<?php 
$obj = [
    "npp" => "822345",
    "nama" => "Handra Pratama",
    "bus_pergi" => 1,
    "bus_pulang" => 4,
    "hotel" => null,
    "kamar" => "K1",
    "teman_kamar" => [
       [
          "nama" => "Handra Pratama"
       ],
       [
          "nama" => "Louis Vernando"
       ],
       [
        "nama" => "Hallo Budi"
       ]
    ]
];

$obj['teman_kamar'] = array_filter($obj['teman_kamar'], function($val) use ($obj) {
     return $val['nama'] !== $obj['nama'];
});
print_r($obj);

推荐阅读