加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zz.com.cn/)- 语音技术、视频终端、数据开发、人脸识别、智能机器人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php上如何将数组转换为对象数组

发布时间:2023-09-11 10:31:47 所属栏目:PHP教程 来源:转载
导读:   这篇文章主要介绍了php如何将数组转换为对象数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何将数组转换为对象数组文章都会有所收获,下面我
  这篇文章主要介绍了php如何将数组转换为对象数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何将数组转换为对象数组文章都会有所收获,下面我们一起来看看吧。
 
  方法一:强制类型转换
 
  $arr = array('id'=>1, 'name'=>'John', 'age'=>25);
 
  $obj = (object)$arr;
 
  print_r($obj);
 
  输出:
 
  stdClass Object
 
  (
 
      [id] => 1
 
      [name] => John
 
      [age] => 25
 
  )
 
  在上面的代码中,我们使用了(object)运算符将数组转换为对象。这个运算符实际上是一种强制类型转换,它可以将一个标量值、数组或资源转换为一个对象。现在$obj是一个对象,我们可以像使用普通对象一样访问它的属性。
 
  方法二:手动创建对象
 
  $arr = array('id'=>1, 'name'=>'John', 'age'=>25);
 
  $obj = new stdClass();
 
  foreach ($arr as $key=>$value) {
 
     $obj->$key = $value;
 
  }
 
  print_r($obj);
 
  输出:
 
  stdClass Object
 
  (
 
      [id] => 1
 
      [name] => John
 
      [age] => 25
 
  )
 
  在上面的代码中,我们手动创建了一个空的对象$obj,然后使用循环遍历数组,并将数组的每个键值对作为对象的属性赋值。现在$obj是一个含有三个属性的对象。
 
  接下来,让我们看一下如何将对象数组转换为普通数组。在PHP中,我们可以使用强制类型转换(将对象强制转换为数组)或手动遍历对象数组来实现这一目标。下面是两种方法的演示:
 
  方法一:强制类型转换
 
  $obj1 = new stdClass();
 
  $obj1->id = 1;
 
  $obj1->name = 'John';
 
  $obj1->age = 25;
 
  $obj2 = new stdClass();
 
  $obj2->id = 2;
 
  $obj2->name = 'Jane';
 
  $obj2->age = 30;
 
  $arr = array($obj1, $obj2);
 
  $arr = (array)$arr;
 
  print_r($arr);
 
  输出:
 
  Array
 
  (
 
      [0] => stdClass Object
 
          (
 
              [id] => 1
 
              [name] => John
 
              [age] => 25
 
          )
 
      [1] => stdClass Object
 
          (
 
              [id] => 2
 
              [name] => Jane
 
              [age] => 30
 
          )
 
  )
 
  在上面的代码中,我们使用了(array)运算符将对象数组转换为普通数组。这个运算符实际上是一种强制类型转换,它可以将一个对象转换为一个数组。现在$arr是一个普通数组,我们可以像使用普通数组一样访问它的元素。
 
  方法二:手动遍历对象数组
 
  $obj1 = new stdClass();
 
  $obj1->id = 1;
 
  $obj1->name = 'John';
 
  $obj1->age = 25;
 
  $obj2 = new stdClass();
 
  $obj2->id = 2;
 
  $obj2->name = 'Jane';
 
  $obj2->age = 30;
 
  $arr = array($obj1, $obj2);
 
  $new_arr = array();
 
  foreach ($arr as $obj) {
 
     $new_arr[] = (array)$obj;
 
  }
 
  print_r($new_arr);
 
  输出:
 
  Array
 
  (
 
      [0] => Array
 
          (
 
              [id] => 1
 
              [name] => John
 
              [age] => 25
 
          )
 
      [1] => Array
 
          (
 
              [id] => 2
 
              [name] => Jane
 
              [age] => 30
 
          )
 
  )
 
  在上面的代码中,我们遍历对象数组$arr,并将每个对象强制转换为一个数组,然后将其添加到新数组$new_arr中。现在$new_arr是一个含有两个元素的普通数组,每个元素都是一个包含三个键值对的关联数组。
 

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章