Symfony\Polyfill\Mbstring
Mbstring::mb_convert_variables
Метод класса: Mbstring{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$result = Mbstring::mb_convert_variables( $toEncoding, $fromEncoding, ...$vars );
- $toEncoding(обязательный)
- .
- $fromEncoding(обязательный)
- .
- ...$vars(обязательный) (передается по ссылке — &)
- .
Код Mbstring::mb_convert_variables() Mbstring::mb convert variables CF7 6.2.4.1
public static function mb_convert_variables($toEncoding, $fromEncoding, &...$vars)
{
if (\is_string($fromEncoding) && 2 < \strlen($fromEncoding) && '"' === $fromEncoding[0] && '"' === $fromEncoding[-1]) {
$fromEncoding = substr($fromEncoding, 1, -1);
}
if (80000 <= \PHP_VERSION_ID && null !== $error = self::getConversionError('mb_convert_variables', 1, $toEncoding, $fromEncoding)) {
throw new \ValueError($error);
}
$ok = true;
foreach ($vars as $i => &$var) {
$convert = static function (&$v) use (&$ok, $toEncoding, $fromEncoding, $i) {
if (\is_string($v)) {
if (false === $v = self::mb_convert_encoding($v, $toEncoding, $fromEncoding)) {
$ok = false;
}
} elseif (80600 <= \PHP_VERSION_ID && !\is_object($v)) {
trigger_error(\sprintf('mb_convert_variables(): Argument #%d must be of type string|array|object or only contain entries of type string|array|object, %s given', 3 + $i, strtok(get_debug_type($v), ' ')), \E_USER_WARNING);
}
};
if (\is_array($var)) {
array_walk_recursive($var, $convert);
} else {
$convert($var);
}
}
unset($var);
return $ok ? $fromEncoding : false;
}