0

我想在字符串中传递变量,以便稍后在脚本中为其分配值。

$message="hi $(name) your salary $(salary) is credited in your XYZ account";
foreach($arrmsgvar as $key => $value){  
    $temp=array_search($value[1],$upfileformat);        
    if($temp){
       $replacement='$row['.$temp.']';
       $message=str_replace($value[0],$replacement,$message);   
    }
 }

我在 $message 中收到字符串“hi $row[1] 您的薪水 $row[2] 已记入您的 XYZ 帐户”

$xdata="";
foreach($Spreadsheet as $key => $row){  
   $xdata.= "`$memid`|`$source`|`$mobile`|`$message`|`0`|`$msgid`||";
}
echo $xdata;

并得到1| 2| 12345678| hi $row[1] your salary $row[2] is credited in your XYZ account| 0| 4|| ,在 $xdata

如何在 $xdata 最终输出中获得 $row 数组的值?有人会告诉我这样做的方法吗?

4

2 回答 2

2
$messages = array();
$message  = "hi %s your salary %d is credited in your %s account";
foreach ($arrmsgvar as $key => $value){  
  $temp = array_search($key, $upfileformat);
  if ($temp !== false) {
    $messages[$key] = sprintf($message, $name, $salary, $account);
  }
}
var_dump($messages);

我不完全确定许多变量来自哪里,但是上面的代码会给你一个关于如何实现的想法,sprintf$name,,可以替换为文本值应该是什么。$salary$account

http://php.net/manual/en/function.sprintf.php

于 2013-04-24T12:35:53.483 回答
0

与其使用您自己的字符串替换,不如使用sprintf

于 2013-04-24T12:14:03.627 回答