本文实例讲述了php对象和数组相互转换的方法。分享给大家供大家参考。具体分析如下:
这里定义2个php匿名对象和数组相互转换的函数,代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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
;
}
|
用法示例如下:
|
1
2
3
4
5
|
$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
|
对象转化为数组
$conn=mysqli_connect('localhost','root','','cf');
$sql="select * from dis where id=81";
$rs=mysqli_query($conn,$sql);
$s=$rs->num_rows;
var_dump($rs);
echo '<br><br>';
echo $s;
echo '<br><br>';
function object_to_array($obj) {
$obj = (array)$obj;
foreach ($obj as $k => $v) {
if (gettype($v) == 'resource') {
return;
}
if (gettype($v) == 'object' || gettype($v) == 'array') {
$obj[$k] = (array)object_to_array($v);
}
}
return $obj;
}
$array=object_to_array($rs);
var_dump($array);
echo '<br><br>';
$conn=mysql_connect('localhost','root','');
mysql_query('set names utf8');
mysql_query('use cf');
$rs=mysql_query('select count(*) from dis where id=81',$conn);
var_dump($rs);
|
