У меня есть массив, содержащий данные, поэтому он будет выглядеть так:
array(27.42, 27.71, 26.61, 204.12 1995-1-17)
И я хочу удалить все слова с тире, чтобы у меня остался массив, который выглядит так:
array(27.42, 27.71, 26.61, 204.12)
Здесь изображен точный массив.
http://i.imgur.com/wDh7BIt.png
Я использую регулярное выражение? Каков наилучший метод. Я попытался использовать функцию if, чтобы заменить все слова, содержащие "-" на "", но это не сработало.
Любая помощь высоко ценится!
Моя попытка:
<?php
$value = array(27.42, 27.71, 26.61, '204.12 1995-1-17');
$pattern = '/\s*\b\w*\-\w*\b/';
$result = preg_replace($pattern, '', $value);
var_dump($result);
foreach ($array as $index=>$value)
{
if (strstr($value,'-'))
{
$ex=explode(" ",$value,2);
$array[$index]=@$ex[0];
}
}
Просто пройдите через массив и проверьте, содержит ли значение черту... Обратите внимание, что foreach ассоциативен, поэтому вы получите индекс значения внутри массива, поэтому вы можете его отключить.