Удалить внутренний массив на основе ключа массива - PullRequest
0 голосов
/ 04 января 2019

У меня есть многомерный массив, где мне нужно удалить элемент из массива. Я ищу, чтобы удалить весь массив подмножества, а не только значение. Я ищу, чтобы это было ключом массива подмножества. Я попытался несколько попыток удалить это, используя циклы и другие функции массива и поиск по стеку без успеха.

Вот пример массива.

$ массив

Array ( 
    [key1] => Array ( [title] => Title [visible] => 1 [order] => 0 ) 
    [key2] => Array ( [title] => Title [visible] => 1 [order] => 1 ) 
    [key3] => Array ( [title] => Title [visible] => 1 [order] => 2 ) 
    [key4] => Array ( [title] => Title [visible] => 1 [order] => 3 ) 
    [key5] => Array ( [title] => Title [visible] => 1 [order] => 4 )
    [key6] => Array ( [title] => Title [visible] => 1 [order] => 5 ) 
    [key7] => Array ( [title] => Title [visible] => 1 [order] => 6 ) 
)

Я использую php7

Когда я пытаюсь использовать циклы, он только удаляет ключ и сохраняет остальные значения.

Я хочу удалить подрешетку key4, а остальные оставить нетронутыми.

Ожидаемый результат:

Array ( 
    [key1] => Array ( [title] => Title [visible] => 1 [order] => 0 ) 
    [key2] => Array ( [title] => Title [visible] => 1 [order] => 1 ) 
    [key3] => Array ( [title] => Title [visible] => 1 [order] => 2 )  
    [key5] => Array ( [title] => Title [visible] => 1 [order] => 4 )
    [key6] => Array ( [title] => Title [visible] => 1 [order] => 5 ) 
    [key7] => Array ( [title] => Title [visible] => 1 [order] => 6 ) 
)

1 Ответ

0 голосов
/ 05 января 2019

Удалите базовый ключ массива здесь

$res= Array ( 
'key1' => Array ( 'title' => 'Title', 'visible' => 1 ,'order' => 0 ) ,
'key2' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 1 ) ,
'key3' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 2 ) ,
'key4' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 3 ) ,
'key5' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 4 ),
'key6' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 5 ) ,
'key7' => Array ( 'title' => 'Title' ,'visible' => 1 ,'order' => 6 ) ,

);

echo "<pre>";
echo "Before Array<br>";
print_r($res);
unset($res['key4']);
echo "After Array<br>";
print_r($res);

Вывод здесь

Перед массивом

 Array( [key1] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 0
    )

[key2] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 1
    )

[key3] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 2
    )

[key4] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 3
    )

[key5] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 4
    )

[key6] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 5
    ))

[key7] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 6
    ))

После массива

Array([key1] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 0
    )

[key2] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 1
    )

[key3] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 2
    )

[key5] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 4
    )

[key6] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 5
    )

[key7] => Array
    (
        [title] => Title
        [visible] => 1
        [order] => 6
    ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...