Есть ли простой способ в PHP преобразовать из струн, таких как «256 м», «180K», «4G» в их целочисленные эквиваленты?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Есть ли простой способ в PHP преобразовать из струн, таких как «256 м», «180K», «4G» в их целочисленные эквиваленты?

Сообщение Anonymous »

Мне нужно проверить значение, возвращаемое ini_get ('memory_limit') и увеличить предел памяти, если оно ниже определенного порога, однако это ini_get ('memory_limit') вызов возвращает значения строк, такие как «128m», а не целые числа. учетная запись), как я писал их много раз: < /p>

function int_from_bytestring ($byteString) {
preg_match('/^\s*([0-9.]+)\s*([KMGTPE])B?\s*$/i', $byteString, $matches);
$num = (float)$matches[1];
switch (strtoupper($matches[2])) {
case 'E':
$num = $num * 1024;
case 'P':
$num = $num * 1024;
case 'T':
$num = $num * 1024;
case 'G':
$num = $num * 1024;
case 'M':
$num = $num * 1024;
case 'K':
$num = $num * 1024;
}

return intval($num);
}
< /code>

Однако это становится утомительным, и это кажется одной из тех случайных вещей, которые уже существовали бы в PHP, хотя я никогда не нашел его. Кто-нибудь знает о каком-то встроенном способе анализа этих байтовых струн?

Подробнее здесь: https://stackoverflow.com/questions/133 ... 180k-4g-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»