-1

我有一个这样的字符串:

Quaint village location, seaside views, four bedrooms

我需要执行以下操作:

  • 获取每个逗号分隔的项目并将其添加到数组中
  • 从开头和结尾删除空格
  • 首字母大写

因此,例如,上面的字符串变为:

array(
   [0] => 'Quaint village location',
   [1] => 'Seaside views',
   [2] => 'Four bedrooms',
)

我已经使用 开始了这个代码块trimexplodeucfirst我认为我不会以一种非常有效的方式来处理它。

iif(get_field('property_information') != NULL){
        $raw_facilities_list = explode(",", get_field('property_information'));
        $other_facilities_list = [];
        foreach($raw_facilities_list as $facility){
            $facility = trim($facility);
            $facility = ucfirst($facility);
            array_push($other_facilities_list,$facility);
        }
        $property['extra_features'] = $other_facilities_list;
        echo '<pre>';
            var_dump($property);
        echo '</pre>';
    }

执行这 3 项任务的最有效方法是什么?

4

2 回答 2

2

只需array_mapexplode

$property['extra_features'] = array_map(function($v){
  return ucfirst(trim($v));
},explode(',',$str));

输出:

array(
   [0] => 'Quaint village location',
   [1] => 'Seaside views',
   [2] => 'Four bedrooms',
)

演示

于 2015-10-13T10:01:43.143 回答
0

你做对了;不过,您可以将其拆分为一些部分:

function sanitize($string){
    return ucfirst(trim($string));
}

function treat($sentence)
{
    return join(",",(array_map('sanitize',explode(",",$sentence))));
}


$array[] = treat("Quaint village location, seaside views, four bedrooms");
于 2015-10-13T10:03:39.353 回答