PHP如何使用数组中的值替换字符串文字?

时间:2011-07-16 05:53:35

标签: php string literals

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

这是我的问题。

我已经从数组中的数据库中存储了表字段名,并创建了一个类似于

的字符串
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>
    <?
}
?>

我的目标是用第二个数组中的值替换我从第一个数组创建的字符串。我已经看到了像joomla这样的CMS编码,他们将'{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表。

1 个答案:

答案 0 :(得分:0)

我不认为我完全理解你的问题是什么,但如果你只是像第一个那样从第二个数组中创建一个字符串怎么办?结果会是一样的,对吧?