2016-12-28 2 views
-3

Я хочу, чтобы удалить все Mr. с в следующем массиве:Строка мутации в PHP

array("John Samplename", "Mr. Josh Nowitzki", "Rose Bane"); 

Так что я буду иметь только имена, без названий.

Как мне его закодировать так, чтобы получить желаемый результат?

ответ

2

Вы можете использовать array_map с str_replace:

$myAry = array("John Samplename", "Mr. Josh Nowitzki", "Rose Bane"); 

$myAry = array_map(function($value) { 
    return trim(str_replace("Mr.", "", $value)); 
}, $myAry); 

print_r($myAry); 

Напечатает:

Array 
(
    [0] => John Samplename 
    [1] => Josh Nowitzki 
    [2] => Rose Bane 
) 

Так, array_map поможет перебирать массив и str_replace заменит ненужные символы. Если вы также хотите заменить Mrs., вы можете заменить return trim(str_replace("Mr.", "", $value)); на return trim(str_replace(["Mr.","Mrs."], "", $value));

+0

отлично, используя карту массива вместо foreach – omxv

+0

Не знал карту массива. Действительно хорошее решение –

Смежные вопросы