我有一个包含数据的数组,所以它会像:
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函数替换包含" - "的所有单词。用" ",但它没有用。
非常感谢任何帮助!
答案 0 :(得分:0)
foreach ($array as $index=>$value)
{
if (strstr($value,'-'))
{
$ex=explode(" ",$value,2);
$array[$index]=@$ex[0];
}
}
只需遍历数组并检查值是否包含破折号... 请注意foreach是关联的,因此您将获得数组中值的索引,这就是您可以取消设置的原因。
答案 1 :(得分:0)
我的尝试:
<?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);