首页 > 解决方案 > 从php中的多维数组中删除相关元素

问题描述

我有一个像这样的图像数据数组:

[other-image] => Array
        (
            [img] => Array
                (
                    [0] => 1526973657.jpg
                    [1] => 1526973661.jpg
                    [2] => 1526973665.jpg
                )

            [path] => Array
                (
                    [0] => ../post-upload/1/
                    [1] => ../post-upload/1/
                    [2] => ../post-upload/1/
                )

            [type] => Array
                (
                    [0] => 1
                    [1] => 1
                    [2] => 1
                )

            [thumb] => Array
                (
                    [0] => thumb_1526973661.jpg
                    [1] => thumb_1526973665.jpg
                    [2] => thumb_1526973668.jpg
                )

        )

现在我想删除一个图像,它是子数组中的所有相关数据。(路径、类型、拇指数据)

这就是我尝试的方式php

  $delkey = '1526973657.jpg';
  if(in_array($delkey, $_SESSION['other-image']['img'])){
      $imgkey = array_search($delkey, $_SESSION['other-image']['img']);
      if($imgkey) unset($_SESSION['other-image']['img'][$imgkey]);
  }

但问题是我无法从其他数组中删除相关数据。谁能告诉我该怎么做?谢谢你。

标签: phparraysmultidimensional-array

解决方案


相关数据是否与img具有相同的键?如果它们相同,我认为您只需要添加一些代码即可删除其他数据,就像使用删除img的方式一样。

if($imgkey) unset($_SESSION['other-image']['path'][$imgkey]);
if($imgkey) unset($_SESSION['other-image']['type'][$imgkey]);
if($imgkey) unset($_SESSION['other-image']['thumb'][$imgkey]);

推荐阅读