Xwab
Форумыnavigate_nextПрограммирование на PHP

Как удалить часть массива?
Сообщения
Morty

Из базы извлекается строка, например
1;2;3;4;5;6;7;8;9;10;
Далее строка преобразуется в массив посредством explode.

Нужно удалить определённое значение, например 5, а остальное отправить дальше.

Предполагаю, что это можно сделать с помощью foreach но я, пока что, с ним не разобрался. Помогите, пожалуйста.

01 Июл 2012, 13:23
Маньяк

Morty,
if($key = array_search(5, $array)) unset($array[$key]);

01 Июл 2012, 13:31
Morty

Маньяк, Что-то недопонял...
Откуда $key и $array?

И как потом оставшееся, снова, преобразовать в строку через implode?

01 Июл 2012, 13:49
ma3uk

Morty, $array=explode(';','1;2;3;4;5;6;7;8;9;10;');
if($key = array_search(5, $array)) {unset($array[$key]);}
$res=implode(';',$array); //1;2;3;4;6;7;8;9;10

01 Июл 2012, 13:53
Lexan

можно с помощью foreach так
[php:1:ec84467251]$array = explode (';', '1;2;3;4;5;6;7;8;9;10')

foreach ($array as $key => $value)
if ($value == 5) unset($array[$key]);

$array = array_values($array) ; //приводим в порядок индексы[/php:1:ec84467251]

01 Июл 2012, 13:57
Morty

Разобрался. Всем спасибо, особенно ma3uk.

01 Июл 2012, 14:02
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.