如何动态创建包含数组变量的字符串?

时间:2015-02-01 22:38:20

标签: php arrays string

说我有以下数组:

$baseData = [
    ['row1col1','row1col2','row1col3','row1col4','row1col5','row1col6'],
    ['row2col1','row2col2','row2col3','row2col4','row2col5','row2col6'],
    ['row3col1','row3col2','row3col3','row3col4','row3col5','row3col6'],
    ['row4col1','row4col2','row4col3','row4col4','row4col5','row4col6'],
    ...
];

我想创建一个可用于将现有数组值合并为新值的变量字符串。在这个例子中,我试图从第1,4,5列中获取值,将每个"行"中的值合并为一个结果。数组。对于每一行"行"对于数组,结果将是' row1col1row1col4row1col5' ......或者......' row3col1row3col4row3col5'。我尝试过以下无法解决的问题。

//identify columns to be merged
$mergeColumns = Array('col1', 'col4','col5');

$mergePattern = '';
foreach($mergeColumns as $col) {
    $mergePattern .= "{$row['".$col."']}";
    }
//expected result: $mergePattern = "{$row['col1']}{$row['col4']}{$row['col5']}"

foreach($baseData as &$row) {
        $row['merged'] = $mergePattern;
    }

它没有工作,因为在形成$ mergePattern变量时正在计算$ row变量。我收到错误:未定义的变量:行

问题:如何在第一次迭代中形成模式,以便在第二次迭代中对其进行评估。

0 个答案:

没有答案
相关问题