【问题标题】:how to delete endpoint key. if it exists如何删除端点密钥。如果存在
【发布时间】:2021-12-03 20:49:19
【问题描述】:

我正在研究一个使用 PHP 和 Laravel 的小想法,我想删除端点密钥。如果存在。

array:2 [▼
  "multiple" => array:2 [▼
    0 => array:5 [▼
      "label" => "EDIT"
      "key" => "edit"
      "method" => "GET"
      "icon" => "EDITICON"
      "endpoint" => "settings.attributes.edit"
    ]
    1 => array:5 [▼
      "label" => "Delete"
      "key" => "edit"
      "method" => "DELETE"
      "icon" => "DELETEICON"
      "endpoint" => "settings.attributes.delete"
    ]
  ]
  "bulk" => array:1 [▼
    0 => array:4 [▼
      "label" => "DELETE"
      "method" => "PUT"
      "type" => "DELETE"
      "endpoint" => "settings.attributes.delete"
    ]
  ]
]

【问题讨论】:

标签: php


【解决方案1】:
public function clean(&$array, $unwanted_key) {
    unset($array[$unwanted_key]);
    foreach ($array as &$value) {
        if (is_array($value)) {
            $this->clean($value, $unwanted_key);
        }
    }
}

试试这个

【讨论】:

    【解决方案2】:

    您可以使用 PHP 的原生函数 unset() 从数组中删除一个元素。

    unset($arr["endpoint"]);
    

    【讨论】:

      【解决方案3】:

      你可以用递归来实现。但在这种情况下,您可以做一个小而好的解决方法。仅用于学习效果;-) @Ruth Davis 的回答很好,但她不是很灵活。因此递归。但并不是每个人都喜欢递归。

      $array = [
          'multiple' => [
              [
                  "label" => "EDIT",
                  "key" => "edit",
                  "method" => "GET",
                  "icon" => "EDITICON",
                  "endpoint" => "settings.attributes.edit",
              ],
              [
                  "label" => "Delete",
                  "key" => "edit",
                  "method" => "DELETE",
                  "icon" => "DELETEICON",
                  "endpoint" => "settings.attributes.delete",
              ]
          ],
      ];
      
      $pattern = '/(,\"endpoint\"\:\".*?\")/i';
      $result = preg_replace($pattern, '', json_encode($array));
      $clearedArray = json_decode($result, true);
      print_r($clearedArray);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-06
        • 2013-02-19
        • 2014-10-17
        • 1970-01-01
        • 2021-04-04
        • 2013-08-20
        • 2020-03-20
        • 2015-11-02
        相关资源
        最近更新 更多