A00class 的个人博客 / 0 / 5 / 创建于 1年前
如例在接收二个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 协议》,转载必须注明作者和本文链接
array_combine()
为啥不一步到位,直接接收二维数组呢?
$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);
$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);
人工智能的回答:
<?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); ?>
我要举报该,理由是:
array_combine()
为啥不一步到位,直接接收二维数组呢?
人工智能的回答: