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

Hyd*_*erA 16 php arabic

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

编辑:以下是阿拉伯数字的样子.我住在一个阿拉伯国家,所以请不要四处向我解释阿拉伯数字的样子.如果你能提供帮助,那就好了.我不需要虚假的想法.

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

Pek*_*ica 23

如果您指的是维基百科所称的东部阿拉伯语/标记数字,那么简单的替换操作就应该这样做.

$western_arabic = array('0','1','2','3','4','5','6','7','8','9');
$eastern_arabic = array('?','?','?','?','?','?','?','?','?','?');

$str = str_replace($western_arabic, $eastern_arabic, $str);
Run Code Online (Sandbox Code Playgroud)

  • @WimtenBrink东阿拉伯数字如下:`$ east_arabic =阵列( "0", "1", "2", "3", "4", "5", "6", "7","8 ","9");"我认为你提供的是来自印度.@Pekka,@ gAMBOOKa与"字母文本"不同,阿拉伯语中的数字不是RTL,因此您无需转动它们. (3认同)

Nab*_*imi 6

定义

  • 西方阿拉伯数字:"1234567890".
  • 东部阿拉伯数字:"1234567890".

答案

前段时间了几个函数(gist.github.com).

演示(3v4l.org)

    echo arabic_w2e("1234567890"); // Outputs: ??????????
    echo arabic_e2w("??????????"); // Outputs: 1234567890
Run Code Online (Sandbox Code Playgroud)

<?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);
}
Run Code Online (Sandbox Code Playgroud)