帮忙看一下,二维数组以健值为为条件进行健名的合并

从此不换网名 2020-10-27 10:08:20
帮忙看一下,二维数组以健值为为条件进行健名的合并
如下

原数组


$aa = Array
(
[fieldname] => Array
(
[0] => namevww
[1] => 55
)

[fieldsalias] => Array
(
[0] => 字段的别名
[1] => 别名
)

[stringtype] => Array
(
[0] => alphabet_cn
[1] => alphabet
)





)


要改变成


$aa = array(
['fieldname'=>'namevww','fieldsalias'=>'字段的别名','stringtype'=>'alphabet_cn'],
['fieldname'=>'55','fieldsalias'=>'别名','stringtype'=>'alphabet']
);
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
similing 2020-11-13
  • 打赏
  • 举报
回复
行列旋转,先取出行列用array_column来处理比较方便:
<?php
	$arr = [
		'fieldname'=>['namevww', 55],
		'fieldsalias'=>['字段的别名', '别名'],
		'stringtype'=>['alphabet_cn', 'alphabet'],
	];
	$keys = array_keys($arr);
	$values = array_values($arr);
	$ret = [];
	for($i=0;$i<count($values[0]);$i++)
	    $ret[] = array_column($values,$i);
	var_dump($ret);
tottyandbaty 2020-11-10
  • 打赏
  • 举报
回复
数组的行转列操作。。。 目前没有更好的答案,循环是最佳答案
下雨的声音丶 2020-10-28
  • 打赏
  • 举报
回复

$aa = [
    'fieldname'=>['namevww', 55],
    'fieldsalias'=>['字段的别名', '别名'],
    'stringtype'=>['alphabet_cn', 'alphabet'],
];
$new_aa = [];
foreach ($aa as $key=>$item) {
    foreach ($item as $k=>$value) {
        $new_aa[$k][$key] = $value;
    }
}
var_dump($new_aa);
从此不换网名 2020-10-28
  • 打赏
  • 举报
回复
引用 1 楼 下雨的声音丶 的回复:

$aa = [
    'fieldname'=>['namevww', 55],
    'fieldsalias'=>['字段的别名', '别名'],
    'stringtype'=>['alphabet_cn', 'alphabet'],
];
$new_aa = [];
foreach ($aa as $key=>$item) {
    foreach ($item as $k=>$value) {
        $new_aa[$k][$key] = $value;
    }
}
var_dump($new_aa);
这样的速率是不是有点低? 可不可以用PHP的内至数组涵数例如:array_walk_recursive,array_walk() 实现呢

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧