首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向2d数组中的每一行添加一个静态值。

向2d数组中的每一行添加一个静态值。
EN

Stack Overflow用户
提问于 2015-11-19 06:31:37
回答 3查看 109关注 0票数 0

我有一个2d数组,如下所示:

\x{e76f}\x{e76f}1\x{e76f}2\x{e76f}

4.5.6.5

我正试图在它前面加上一个列,如下所示:

\x{e76f}\x{e76f}

X-4-5

使用1array_unshift()will cause the elements to become shuffled and I need them to be retained. I also triedarray_merge()‘以及使用现有数组“添加”新列。

做这件事最好的方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-27 01:57:54

从评论中发帖。试试这个。链接

代码语言:javascript
复制
    $arr = array(
        array(1,2,3),
        array(4,5,6)
    );

    foreach($arr as $k => $v){
        array_unshift($arr[$k],"X");
    }
    print_r($arr);
票数 0
EN

Stack Overflow用户

发布于 2015-11-19 06:39:59

您可以使用array_maparray_push,如

代码语言:javascript
复制
$arr = [[1, 2, 3], [4, 5, 6]];
$result = array_map(function($v, $a) {
    $v = array_merge([$a],$v);
    return $v;
}, $arr, ['X', 'X']);

print_r($result);

演示

票数 0
EN

Stack Overflow用户

发布于 2022-09-13 14:15:35

对于一个现代的、功能式的片段,对一个动态生成的数组进行array_merge()的迭代调用,该数组包含您的新值和原始数组。

代码:(演示)

代码语言:javascript
复制
var_export(
    array_map(
        'array_merge',
        array_fill(0, count($array), ['X']),
        $array
    )
);

或:(演示)

代码语言:javascript
复制
var_export(
    array_map(
        fn($row) => array_merge(['X'], $row),
        $array
    )
);

对于简洁、经典的循环,在迭代时通过引用修改原始元素/行。同样,这种方法修改了原始数组。

代码:(演示)

代码语言:javascript
复制
foreach ($array as &$row) {
    array_unshift($row, 'X');
}
var_export($array);

如果要将数据追加到每一行的末尾,则在array_merge()调用:array_map(fn($row) => array_merge($row, ['X']))中反转行和静态数据的顺序。

当用非数字键合并数据时,您可以使用联合运算符(+)来合并,而不是使用array_merge()array_replace()。如果使用联合运算符,请注意共享密钥不会妨碍在结果中使用所需的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33796761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档