Игнорирование преобразования локализации в функции PHP - PullRequest
0 голосов
/ 30 мая 2018

Я создал многоязычный сайт, и на сервере установлены обе локали.Это все хорошо.Однако у меня есть функция PHP, которая рассчитывает соотношение изображения и возвращает его по всему моему сайту.Единственная проблема заключается в том, что он возвращает соотношение через запятую (из-за локализации).

Любой способ отключить преобразование для следующей функции?

function getRatio($width,$height) {
    $ratio = round($height/$width*100,2);
    $format = $height>$width;
    if ($format) {
        echo "data-format='portrait'";
    } else {
        echo "data-format='landscape'";
    }
    echo "style='padding-bottom:$ratio%;'";
}

Тогда в моих шаблонах:

<?php echo getRatio($image->width,$image->height); ?>

1 Ответ

0 голосов
/ 30 мая 2018

Я думаю, что проще просто использовать number_format().Это проще в обслуживании и является единым для каждой локали.

Обратите внимание, что число_формат также округляется, поэтому вы можете удалить round() из своего кода.

// 2 decimals, comma for thousands and point for decimals
$ratio = number_format($height / $width * 100, 2, ".", ",");

// 2 decimals, point for thousands and comma for decimals
$ratio = number_format($height / $width * 100, 2, ",", ".");

// 10 decimals, no thousands and point for decimals
$ratio = number_format($height / $width * 100, 10, ".");

// etc etc etc
...