PHP接收post时,数据合闭的问题

如例在接收二个post数组时,将它合并:

$post1=[‘张三’,’李四’,’王五’];

$post2=[‘20岁’,’25岁’,’40岁’];

怎么实现下面效果
Array
(
[0] => stdClass Object
(
[name] => 张三
[title] => 20岁
)
[1] => stdClass Object
(
[name] => 李四
[title] => 25岁
)
[2] => stdClass Object
(
[name] => 王五
[title] => 40岁
)
)

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 5

为啥不一步到位,直接接收二维数组呢?

2个月前 评论
$post1 = ['张三', '李四', '王五'];
$post2 = ['20岁', '25岁', '40岁'];
$peopleList = [];
foreach ($post1 as $k => $name) {
    $people = new stdClass();
    $people->name = $name;
    $people->title = $post2[$k] ?? '';
    $peopleList[] = $people;
}
print_r($peopleList);
2个月前 评论
$post1 = ['张三', '李四', '王五'];
$post2 = ['20 岁', '25 岁', '40 岁'];

$result = array_map(function($name, $title) {
    $obj = new stdClass();
    $obj->name = $name;
    $obj->title = $title;
    return $obj;
}, $post1, $post2);

// 打印结果
print_r($result);
2个月前 评论

人工智能的回答:

<?php  
$post1 = ['张三', '李四', '王五'];  
$post2 = ['20 岁', '25 岁', '40 岁'];  

// 确保两个数组长度相同  
if (count($post1) !== count($post2)) {  
    throw new Exception("两个数组的长度不相同,无法合并。");  
}  

// 使用array_map创建新的对象数组  
$result = array_map(function($name, $title) {  
    $obj = new stdClass();  
    $obj->name = $name;  
    $obj->title = $title;  
    return $obj;  
}, $post1, $post2);  

// 打印结果  
print_r($result);  
?>
2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!