Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何动态创建包含数组变量的字符串?_Php_Arrays_String - Fatal编程技术网

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”列。