请帮我解决这个问题。我不确定是否可能!我需要一个小巧的解决方案。
<?php include_once"system/hijri_calendar.php";
echo (new hijri\datetime()) -> format ('_j');
?>
上面的代码给出了一个英文输出整数(1 ... 30)。
现在,在回声之后,我想将这种英语改为其他语言。 例如:
说上面的代码给了我一个输出1 我想将此输出(1)更改为其他语言(1)
答案 0 :(得分:1)
如果我找到了你,你试图从一个数组中获取值,这是基于另一个数组的值和键。您可以使用array_search()根据值
从数组中查找键<?php
$en = array(1,2,3,4,5,6,7,8,9,0);
$bn = array('১','২','৩','৪','৫','৬','৭','৮','৯','০');
var_dump(array_search(5, $en)); // gives the key 4 from $en where value is 5
// array keys strart with 0
// so you can do
var_dump($bn[array_search(5, $en)]); // gives ৬
答案 1 :(得分:0)
又快又脏:
function __($number, $lang)
{
if ($lang == 'en') {
return $number;
}
$translate = array();
$translate['bn'] = array(
'1' => '১',
'2' => '২',
'3' => '৩',
'4' => '৪',
'5' => '৫',
'6' => '৬',
'7' => '৭',
'8' => '৮',
'9' => '৯',
'0' => '০'
);
$translate['th'] = array(
'1' => '๑',
'2' => '๒',
'3' => '๓',
'4' => '๔',
'5' => '๕',
'6' => '๖',
'7' => '๗',
'8' => '๘',
'9' => '๙',
'0' => '๐'
);
$digits = str_split($number,1);
$return_this = '';
foreach($digits as $digit){
$return_this .= $translate[$lang][$digit];
}
return $return_this;
}
echo __('905','bn');
分解,如果lang是en你得到你给的东西,如果bn或th,它会分开数字并使用所请求的数组重建它。
除了每种语言的数组都在他们自己的文件中之外,这基本上就是我的工作方式。
答案 2 :(得分:0)
我稍微更改了数组以简化操作。如果数组是数字的顺序(所以我已经将0元素移动到数组中的位置0),你可以使用......
$bn = array('০','১','২','৩','৪','৫','৬','৭','৮','৯');
$in = "18";
$out = "";
foreach ( str_split($in) as $ch ) {
$out .= $bn[$ch];
}
echo $out;