将英文数字转换为阿拉伯数字

2022-08-30 19:52:34

如何将从数据库中检索到的英文数字转换为PHP中的阿拉伯数字符号。

编辑:这里有一些阿拉伯数字的例子。我住在一个阿拉伯国家,所以请不要到处向我解释阿拉伯数字是什么样子的。如果你能帮忙,很好,很好。我不需要虚假的想法。

http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Arabic_numerals-en.svg/500px-Arabic_numerals-en.svg.png


答案 1

如果您指的是维基百科所谓的东方阿拉伯/印度数字,则应执行简单的替换操作。

$western_arabic = array('0','1','2','3','4','5','6','7','8','9');
$eastern_arabic = array('٠','١','٢','٣','٤','٥','٦','٧','٨','٩');

$str = str_replace($western_arabic, $eastern_arabic, $str);

答案 2

定义

  • 西方阿拉伯数字:“1234567890”。
  • 东方阿拉伯数字:“١٢٣٤٥٦٧٨٩٠”。

答案

不久前,我写了几个函数(gist.github.com)。

演示 (3v4l.org)

    echo arabic_w2e("1234567890"); // Outputs: ١٢٣٤٥٦٧٨٩٠
    echo arabic_e2w("١٢٣٤٥٦٧٨٩٠"); // Outputs: 1234567890

法典

<?php

/**
 * Converts numbers in string from western to eastern Arabic numerals.
 *
 * @param  string $str Arbitrary text
 * @return string Text with western Arabic numerals converted into eastern Arabic numerals.
 */
function arabic_w2e($str)
{
    $arabic_eastern = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
    $arabic_western = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    return str_replace($arabic_western, $arabic_eastern, $str);
}

/**
 * Converts numbers from eastern to western Arabic numerals.
 *
 * @param  string $str Arbitrary text
 * @return string Text with eastern Arabic numerals converted into western Arabic numerals.
 */
function arabic_e2w($str)
{
    $arabic_eastern = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
    $arabic_western = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    return str_replace($arabic_eastern, $arabic_western, $str);
}

推荐