Php 如何动态创建包含数组变量的字符串?
假设我有以下数组:Php 如何动态创建包含数组变量的字符串?,php,arrays,string,Php,Arrays,String,假设我有以下数组: $baseData = [ ['row1col1','row1col2','row1col3','row1col4','row1col5','row1col6'], ['row2col1','row2col2','row2col3','row2col4','row2col5','row2col6'], ['row3col1','row3col2','row3col3','row3col4','row3col5','row3col6'], ['r
$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”。。。或者……”Row3Col1 Row3Col4 Row3Col5'。我试着做了以下不起作用的事情
//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;
}
它不起作用,因为$row变量在$mergePattern变量形成时正在求值。我得到错误:未定义变量:行
问题:如何在第一次迭代中形成模式,以便在第二次迭代中对其进行评估。
$col
的值是多少?从什么时候开始,foreach(in)
是一件事了?你能描述一下你想要从这段代码中得到的输出吗?你说“我想让它这样做…”然后发布了不起作用的代码,所以很难理解你想要什么。我不太确定,这是你想要的吗:?对不起@Passerby。我正试图将数组中的两列或多列合并成一个新列。@yajasi是的,我的代码不是这样做的吗?在“output”标记中,您可以看到一个新的“merged”列。