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
Форумы портала PHP.SU :: Версия для печати :: удалить элемент строки или массива
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » удалить элемент строки или массива

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

1. DiosPA - 03 Февраля, 2011 - 19:46:38 - перейти к сообщению
Как удалить 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 очень нужна помощь Недовольство, огорчение
2. annihilus - 03 Февраля, 2011 - 20:05:38 - перейти к сообщению
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(); ?
3. DiosPA - 03 Февраля, 2011 - 20:21:30 - перейти к сообщению
annihilus
ОГРОМНОЕ спасибо просто раньше с я этой необходимостью не сталкивался
Ещё раз спасибо прям очень помог Улыбка

 

Powered by ExBB FM 1.0 RC1