Наиболее эффективное решение: обрезать, использовать заглавные буквы и взрывать через запятую для строки

У меня есть такая строка:

Quaint village location, seaside views, four bedrooms

Мне нужно сделать следующее:

  • Возьмите каждый разделенный запятыми элемент и добавьте его в массив
  • Удалить пробелы из начала и конца
  • Прописать первую букву

Так, например, приведенная выше строка становится:

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

Я начал этот блок кода с помощью trim, explode а также ucfirst но я не думаю, что я сделаю это очень эффективным способом.

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 задачи?

-1

Решение

Просто используя array_map вместе с explode

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

Выход:

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

демонстрация

2

Другие решения

Ты делаешь это правильно; Вы можете разделить его на несколько частей:

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");
0

По вопросам рекламы [email protected]