当前位置:首页 » 编程语言 » php数组对象

php数组对象

发布时间: 2022-01-14 19:31:06

php 如何将数组转化成对象

这里定义2个php匿名对象和数组相互转换的函数,代码如下:

function array2object($array) {

if (is_array($array)) {$obj = new StdClass();foreach ($array as $key => $val){$obj->$key = $val;}}else { $obj = $array; }return $obj;}function object2array($object) {if (is_object($object)) {foreach ($object as $key => $value) {$array[$key] = $value;}}else {$array = $object;}return $array;}

用法示例如下:

$array = array('foo' => 'bar','one' => 'two','three' => 'four');$obj = array2object($array);print $obj->one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar

❷ php中数组能储存对象吗

可以的 举个简单的例子给你
<?php

class foo
{

function do_foo()
{
echo "Doing foo.";
}
}

$bar = new foo;

$arry1=array(1,$bar);//这里将实例化的对象存入数组

var_mp($arry1);//这里打印数组结构 你会发现下标1的位置存储了一个object对象
$arry1[1]->do_foo();;//以数组形式 调用do_foo();
$bar->do_foo();//正常的调用do_foo()
//两种方式输出是一样的 充分说明 数组是可以存储对象的 希望对你的学习有帮助
?>

//下面是输出 我自动换行分割了下 其实是一行
array(2) { [0]=> int(1) [1]=> object(foo)#1 (0) { } }
Doing foo.
Doing foo.

❸ php数组包含对象,对象包含数组怎么调用

$d->_data[0]->id;
简单点的话

$d=json_decode(json_encode($d),true);
$d['_data'][0]['id'];

❹ PHP数组里面存放对象

楼上解释正确,不过我补充一下。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通过定义魔术函数__sleep __wakeup来实现。

❺ PHP中数组是不是对象

不是对象。而且不是真正意义上的数组。

❻ PHP中如何定义对象类型数组

应该是存到对象属性中吧
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其实无所谓

❼ php中如何把数组里的值 转换成一个对象

$array[$x]->shop();???

你说的我糊涂,什么叫shop类型?shop 不是一个类么,$x 不就是 shop 的对象么

你的对象声明也有错误 应该是 $x = new shop;//没有后面的括号
我猜你的意思是不是说 $array[$x] 如何转换成 shop 的对象,是么?
你把对象放在数组的用意是什么,换句话说,这个数组是干什么用的?
你要知道 $array[$x] 是无法调用的。

❽ php中怎么把对象从数组中取出来

我会说
$tmr = (object)$arr[i];
少了一个$符号么
$tmr = (object)$arr[$i];

php以为你的i是常量啊,而且你也没定他的值,取都没取出来

楼主不细心啊

❾ php的数组怎么转成对象

数组变量前面加(object),可以转为对象。

❿ php中数组对象转普通数组

/**
* 对象数组转为普通数组
* 此函数支持多维数组处理。
*
* @param array
* @return array
*/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}
你可以去后盾人平台看看,里面的东西不错

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:764
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:663
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:310
子弹算法 发布:2024-09-20 08:41:55 浏览:288
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:816
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:161
sql数据库安全 发布:2024-09-20 08:31:32 浏览:93
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:506
编程键是什么 发布:2024-09-20 07:52:47 浏览:657
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:480