Php 如何删除包含特定索引的多维数组的元素?

Php 如何删除包含特定索引的多维数组的元素?,php,Php,在我存储在$\u SESSION['doc\u brick\u array']中的以下数组中,我试图找到具有brick0的元素。我想删除这个元素,然后重新索引外部数组。我该怎么做 Array ( [0] => Array ( [brick0] => Array ( [city_name] => Lahore [clini

在我存储在
$\u SESSION['doc\u brick\u array']
中的以下数组中,我试图找到具有
brick0
的元素。我想删除这个元素,然后重新索引外部数组。我该怎么做

Array
(
    [0] => Array
        (
            [brick0] => Array
                (
                    [city_name] => Lahore
                    [clinic_name] => shifa hospital
                    [attendant_name] => ali
                    [drd1_cell1] => 03017666454
                    [mbv] => 666
                    [brick_name] => LHR-0002
                    [clinic_address] => i-8 markaz
                    [drd1_phone] => 9798797
                    [drd1_cell2] => 04037777888
                    [drd1_email] => abc@yahoo.com
                    [visit_time] => m
                )

        )

    [1] => Array
        (
            [brick1] => Array
                (
                    [city_name] => Rawalpindi
                    [clinic_name] => aljanat hospital
                    [attendant_name] => kanzal
                    [drd1_cell1] => 03014544567
                    [mbv] => 6000
                    [brick_name] => 
                    [clinic_address] => i-9 markaz
                    [drd1_phone] => 07337837
                    [drd1_cell2] => 03017767575
                    [drd1_email] => abcd@yahoo.com
                    [visit_time] => m
                )

        )

)
我尝试过的代码

for($g=0; $g<=count($_SESSION['doc_brick_array']); $g++){
    if (($key = array_search($brick_code, $_SESSION['doc_brick_array'][$g])) !== false) {   
        unset($_SESSION['doc_brick_array'][$key]);  
        $_SESSION['doc_brick_array'] = array_values($_SESSION['doc_brick_array']);
    }   
}

for($g=0;$g我想你想要的是PHP.net网站上的which

array_values()返回数组中的所有值并为 数字阵列

例如:

$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')

您可以使用
array\u filter
$\u会话['doc\u brick\u array']
中删除具有
brick0
键的任何元素

$x = array_filter($_SESSION['doc_brick_array']), function($y) {
         return !isset($y['brick0']);
     });
然后使用
array\u values
对结果重新编制索引

$_SESSION['doc_brick_array']) = array_values($x);

你在问什么?所以没有人浪费时间…你已经向我们展示了你所拥有的。你想要的是什么?“重新索引它”可能意味着许多不同的事情。你必须先复制子数组,然后取消它…
$\u会话['newindex']=$\u会话['oldindex'];
!!然后!!
取消($\u会话['oldindex'];
如果你的意思是“重新索引”,就像在变化中一样“brick1”到“brick0”,那么你需要一个介词索引器,比如