2011-01-14 2 views
0

Я довольно новичок в функциях PHP. Я действительно не знаю, что делают нижние функции, может кто-нибудь дать объяснение или рабочий пример, объясняющий приведенные ниже функции. Благодарю.Вопрос о функциях PHP

Функции PHP.

function mbStringToArray ($str) { 
    if (empty($str)) return false; 
    $len = mb_strlen($str); 
    $array = array(); 
    for ($i = 0; $i < $len; $i++) { 
     $array[] = mb_substr($str, $i, 1); 
    } 
    return $array; 
} 

function mb_chunk_split($str, $len, $glue) { 
    if (empty($str)) return false; 
    $array = mbStringToArray ($str); 
    $n = 0; 
    $new = ''; 
    foreach ($array as $char) { 
     if ($n < $len) $new .= $char; 
     elseif ($n == $len) { 
      $new .= $glue . $char; 
      $n = 0; 
     } 
     $n++; 
    } 
    return $new; 
} 
+0

Я предполагаю, что они образуют версию многобайтную из 'chunk_split'. http://php.net/chunk_split multi-byte означает, что они могут обрабатывать строки UTF-8, в которых символ может состоять из более чем одного байта –

+0

. Вы верны. – HELP

ответ

1

Первая функция принимает многобайтную строку и преобразует ее в массив символов, возвращая массив.

Вторая функция принимает многобайтную строку и вставляет строку $glue каждые $len символов.

+0

Это можно использовать для вставки мягких оберток в длинные строки, которые не содержат естественных локаций с переносом слов. – drudge

0
function mbStringToArray ($str) {   // $str is a function argument 
    if (empty($str)) return false;   // empty() checks if the argument is not equal to NULL (but does exist) 
    $len = mb_strlen($str);    // returns the length of a multibyte string (ie UTF-8) 
    $array = array();      // init of an array 
    for ($i = 0; $i < $len; $i++) {  // self explanatory 
     $array[] = mb_substr($str, $i, 1); // mb_substr() substitutes from $str one char for each pass 
    } 
    return $array;       // returns the result as an array 
} 

Это должно помочь вам понять вторую функцию

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