2011-01-14 341 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多字节意味着他们可以处理UTF-8字符串,其中一个字符可以包含多个字节 – 2011-01-14 00:22:48

+0

你是对的。 – HELP 2011-01-14 00:24:13

回答

1

第一个函数接受一个多字节字符串并将其转换为一个字符数组,并返回该数组。

第二个函数需要一个多字节字符串并且每$len个字符插入$glue字符串。

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 
} 

这将有助于你理解第二功能