Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: удалить элемент строки или массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: help!!!
DiosPA
Отправлено: 03 Февраля, 2011 - 19:46:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




Как удалить 1 элемент из строки и массива.

$a '|1|4|2|3|13|33'; //исходные данные строка

Поиск (замену) я произвожу в строке $a с помощью str_replace но мне не подходит тк она заменяет все совпадения |3 (тоесть |33 будет заменена и останется только 3)
как удалить элемент из строки только с учётом того что может встретится |3 и |33 ???

и как удалить из массива
$b = explode("|", $a); //Извлекаем данные и создаём новый массив
//Массив $b выглядит так b[1]=0, b[2]=1, b[3]=4

но я не знаю ключ массива то есть мне надо найти в массиве $b значение то есть «3», только необходимо учитывать что данные могут быть как |3 и |33 ???

SOS очень нужна помощь Недовольство, огорчение
 
 Top
annihilus
Отправлено: 03 Февраля, 2011 - 20:05:38
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




DiosPA пишет:
Поиск (замену) я произвожу в строке $a с помощью str_replace но мне не подходит тк она заменяет все совпадения |3 (тоесть |33 будет заменена и останется только 3)
как удалить элемент из строки только с учётом того что может встретится |3 и |33 ???


PHP:
скопировать код в буфер обмена
  1. $a=preg_replace('#\|3(?:\||$)#',"",$a);
  2. //либо
  3. $a=preg_replace('#\|3(?:(?=\|)|(?=$))#',"",$a);


DiosPA пишет:
но я не знаю ключ массива то есть мне надо найти в массиве $b значение то есть «3», только необходимо учитывать что данные могут быть как |3 и |33 ???


array_search(); ?

(Отредактировано автором: 03 Февраля, 2011 - 20:16:45)

 
 Top
DiosPA
Отправлено: 03 Февраля, 2011 - 20:21:30
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


Помог: 2 раз(а)




annihilus
ОГРОМНОЕ спасибо просто раньше с я этой необходимостью не сталкивался
Ещё раз спасибо прям очень помог Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB