【问题标题】:PHP How to replace string literals using a value from an array?PHP如何使用数组中的值替换字符串文字?
【发布时间】:2011-07-16 05:53:35
【问题描述】:

我不确定它是否适合使用...

这是我的问题。

我已将数据库中的表字段名称存储在一个数组中,并创建了一个如下所示的字符串

foreach ($fields as $field) {
    $str.="<td>{$data[key][field]}</td>";
}

我已经将表格中的数据存储在不同的数组中,该数组的格式为

$data=array(array('name'=>"name 1",'address'=>"Address One"),array('name'=>"Name 2",'address'=>"Address two"),array('name'=>"Name 3",'address'=>"address three"),array('name'=>"test",'address'=>"test one"));

现在我已经完成了以下操作

eval("\$str = \"$str\";");
foreach ($data as $key => $souceStr) {
    ?>
    <tr>
       <?=$str?>
    </tr>
    <?
}
?>

我的目标是用第二个数组中的值替换我从第一个数组创建的字符串。我在 CMS 中看到过类似 joomla 的编码,他们将 '{somename}' 替换为我想在此处执行相同操作的值。

================================================ ==

对不起,我的问题不清楚。但我得到了我想要的东西。这是代码

  <table width="100%" cellpadding="0" cellspacing="0" align="center" border="1">    
<tr>
    <?
    foreach ($header as $val) {
        ?>
        <th><?= $val ?></th>
        <?
    }       
    ?>
</tr>
<?
foreach ($fields as $field) {
    $str.='<td>$souceStr['.$field.']</td>';
}  
foreach ($data as $key => $souceStr) {
    eval("\$eval_str = \"$str\";");
    ?>
    <tr>            
       <?php echo $eval_str; ?>
    </tr>
    <?
}
?>

这个想法是打印一个 html 表格。

【问题讨论】:

    标签: php string literals


    【解决方案1】:

    我不认为我完全理解你的问题是什么,但是如果你只是从第二个数组中创建一个字符串,就像你从第一个数组中所做的那样呢?结果应该是一样的吧?

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 2014-02-01
      • 2019-03-21
      • 1970-01-01
      • 2011-06-26
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多