PHP - remove element in multidimensional array

前端 未结 2 743
無奈伤痛
無奈伤痛 2020-12-19 11:41

I have this array:

Array ( 
[0] => Array ( [0] => b [1] => d [2] => **c** [3] =>a [4] => ) 

[1] => Array ( [0] => **c** [1] => a          


        
2条回答
  •  情歌与酒
    2020-12-19 11:43

    Search the value in the sub array then unset it.

    $search = 'c';
    $result = array_map(function ($value) use ($search) {
       if(($key = array_search($search, $value)) !== false) {
          unset($value[$key]);
       }
       return $value;
    }, $your_array);
    

    Or you could use a loop too:

    // this way change your original array
    foreach ($your_array as &$sub_array) {
        if(($key = array_search($search, $sub_array)) !== false) {
            unset($sub_array[$key]);
        }
    }
    var_dump($your_array);
    

提交回复
热议问题