Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Удаление элемента многомерного массива / 7 сообщений из 7, страница 1 из 1
19.03.2017, 12:05
    #39422422
kasper_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
Что не так?
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
		for( $f=0; $f<count($_SESSION['cart']); $f++ )
		{
			if ( $_SESSION['cart'][$f][0] == $id )
			{
				unset($_SESSION['cart'][$f]);
				break;
			}
		}


удаляются данные всех элементов массива
...
Рейтинг: 0 / 0
19.03.2017, 13:19
    #39422458
kasper_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
array_splice?
...
Рейтинг: 0 / 0
19.03.2017, 14:06
    #39422473
Дормедонт Евлампиевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
а ничего, что вы убираете элемент, и после этого проверяете: $f<count($_SESSION['cart']) (который по идее уже на 1 меньше)
...
Рейтинг: 0 / 0
19.03.2017, 14:08
    #39422474
kasper_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
весь вопрос в том, как правильно удалить строчку массива
...
Рейтинг: 0 / 0
19.03.2017, 14:09
    #39422476
kasper_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
Код: php
1.
unset($_SESSION['cart'][$f][0], $_SESSION['cart'][$f][1], $_SESSION['cart'][$f][2], $_SESSION['cart'][$f][3], $_SESSION['cart'][$f][4]);


в результате болтается пустая строка
...
Рейтинг: 0 / 0
19.03.2017, 14:12
    #39422477
kasper_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
есть:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
		for( $f=0; $f<count($_SESSION['cart']); $f++ )
		{
			if ( $_SESSION['cart'][$f][0] == $id )
			{
				unset($_SESSION['cart'][$f][0], $_SESSION['cart'][$f][1], $_SESSION['cart'][$f][2], $_SESSION['cart'][$f][3], $_SESSION['cart'][$f][4]);
			}
		}
		for( $f=0; $f<count($_SESSION['cart']); $f++ )
		{
			if ( $_SESSION['cart'][$f][0] == '' )
			{
				array_splice($_SESSION['cart'],$f,1);
			}
		}
...
Рейтинг: 0 / 0
19.03.2017, 14:32
    #39422487
Дормедонт Евлампиевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление элемента многомерного массива
Всё прекрасно удаляет:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$arVar = array('cart' => array(1 => array(2,3),2 => array(2,4),3 => array(3,3)));

echo var_dump($arVar);

$id = 2;
$c = count($arVar['cart']);

for( $f=1; $f<=$c; $f++ )
{
    if ( $arVar['cart'][$f][0] == $id )
    {
        unset($arVar['cart'][$f]);
    }
}

echo var_dump($arVar);



конечный вывод соответственно:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
array(1) {
  ["cart"]=>
  array(1) {
    [3]=>
    array(2) {
      [0]=>
      int(3)
      [1]=>
      int(3)
    }
  }
}
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Удаление элемента многомерного массива / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]