请问以下数据怎么最快方法转化指定格式二维array

发布于 2022-09-13 00:53:35 字数 763 浏览 25 评论 0

数据1:

$name = ['xiaoming', 'xiaojun', 'xiaohu'];
$age = [22, 18, 75];

我最后要的数据格式:

怎么最快方法转化成以下格式,因为有上百万条数据,$name$age的长度是对等的相同的。

[
    ['name' = 'xiaomin', 'age' => 22],
    ['name' = 'xiaojun', 'age' => 18],
    ['name' = 'xiaohu', 'age' => 75]
]

或者我转为数据1再转为我要的数据格式,这样是不对的,原始数据是从 data.txt 文件中获取的

xiaoming--22
xiaojun--18
xiaojun--75

提取代码,最终获取到了 数据1 的格式

//laravel的写法,获取文件全部内容
$Str = Storage::get('data.txt');
preg_match_all('/([a-z]+)--([0-9]+)/i', $Str, $Aarray);
// $Aarray[1]是名称 $Aarray[2]
$Carray = array_combine($Aarray[1], $Aarray[2]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等待我真够勒 2022-09-20 00:53:35

使用 array_map 来处理就好了,

<?php

// php 7.4+
$names = ['xiaoming', 'xiaojun', 'xiaohu'];
$ages  = [22, 18, 75];

$result = array_map(fn($name, $age) => compact('name', 'age'), $names, $ages);

var_dump($result);

// < php 7.4

$result = array_map(function ($name, $age) {
    return compact('name', 'age');
}, $names, $ages);

var_dump($result);
你的心境我的脸 2022-09-20 00:53:35

PHP array_combine() 函数

<?php
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");

$c=array_combine($fname,$age);
print_r($c);//Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文