2013-08-01 5 views
1

Я хочу получить массив только с первым символом из существующего массива. Это мой код:получить первый символ элемента в массиве - umlauts не отображается правильно

$tag_array = array('ächzen', 'ßüß', 'test'); 


function firstCharArray($array){ 
    $result = array(); 
    foreach($array as $item){ 
     $result[] = $item[0]; 
    } 

    return $result; 
} 

$characters = firstCharArray($tag_array); 
echo '<pre>'; 
print_r($characters); 
echo '</pre>'; 

Проблема в том, что я получаю для умляутов. Скрипт закодирован в UTF-8 без спецификации. Я не знаю, что я делаю неправильно. Я также попытался установить локаль, но пока это не помогло.

ответ

5

Изменение

$result[] = $item[0]; 

в

$result[] = mb_substr($item, 0, 1, "utf-8"); 

Вы получаете первые байты многобайтового символа а.

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