Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 字符串从数组转换,str_替换?_Php_Arrays_Translation - Fatal编程技术网

Php 字符串从数组转换,str_替换?

Php 字符串从数组转换,str_替换?,php,arrays,translation,Php,Arrays,Translation,字符串从数组转换,str_替换 我有一个数组 $money = array( "USD"=>100, "BAT"=>1000, "RIEL"=>2000 ); 我将其定义为要转换的常量: define("const_infor","Your __TYPE__ are: __AMOUNT__ __CURRENCY__ .<br><br>"); 我尝试输出(好方法): 但我想要的是输出应该是: Your Balanc

字符串从数组转换,str_替换

我有一个数组

 $money = array(
    "USD"=>100,
    "BAT"=>1000,
    "RIEL"=>2000
    );
我将其定义为要转换的常量:

define("const_infor","Your __TYPE__ are:  __AMOUNT__  __CURRENCY__ .<br><br>");
我尝试输出(好方法):

但我想要的是输出应该是:

Your Balance are: 100 USD; 1000 BAT; 2000 RIEL
如何传递
$currency
。要
str\u替换


任何人都可以帮我做这件事。?

我不知道你到底想做什么,但如果只是输出的话 试一试

试试看:

foreach ($money as $key => $cur)
  echo $cur.' '. $key;

好的,下面是一个解析器,它可以做你想做的事情。。试着看看它是否适合您的需要:

function replace($string, $name = '', $value = '')
{
   if ( !empty($name) )
   {
      str_replace('{'.$name.'}', $value, $string);
   }
}


$string = 'Your balance is {bal1} USD, {bal2} BAT';

$string = replace('bal1', $money['USD'], $string);
$string = replace('bal2', $money['BAT'], $string);
$string = replace('bal3', $money['GBP'], $string);

print $string;

所有这些常量有什么意义?你必须用英语来解释,“坏方法”有什么不好,为什么“好方法”是好的。但是你想要的可能是:我找到了解决方案。谢谢guy@lEnAk你能解释一下这种方式有什么不好吗?@lEnAk你想翻译什么?数字?这取决于您生成的数组有多大:-)我不同意您的论点-我认为这比使用大量常量要好得多-这样您就可以使用数组,而不是使用数组生成越来越长的字符串。:)
printf("Your Money %f %f %f", $money["USD"], $money["BAT"], $money["RIEL"]);
foreach ($money as $key => $cur)
  echo $cur.' '. $key;
function replace($string, $name = '', $value = '')
{
   if ( !empty($name) )
   {
      str_replace('{'.$name.'}', $value, $string);
   }
}


$string = 'Your balance is {bal1} USD, {bal2} BAT';

$string = replace('bal1', $money['USD'], $string);
$string = replace('bal2', $money['BAT'], $string);
$string = replace('bal3', $money['GBP'], $string);

print $string;