php解析数组对象
① iOS与php传递的josn数组解析
json_decode($ios,true);解析成数组
json_decode($ios);解析成对象
② PHP数组里面存放对象
楼上解释正确,不过我补充一下。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通过定义魔术函数__sleep __wakeup来实现。
③ PHP获取数组下标的问题
PHP 获取数组指定值的位置或下标代码如下:
<?php
//定义一个数组
$array = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
//使用 array_search('要搜索的值',数组);
$key = array_search('b', $array); // $key = 1;
$key = array_search('a', $array); // $key = 0;
?>
(3)php解析数组对象扩展阅读
php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。
因为可以用另一个 php 数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构至少会发现一个例子。要得到这些结构的更多信息,建议参考有关此广阔主题的外部着作。
对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。
如果将一个 NULL 值转换成数组,将得到一个空数组。
④ PHP 对象数组的筛选和判断
手打不易,有用请采纳。
$rArray = json_decode(json_encode($r),true);//通过json将对象转换为数组。
foreach($rArray as $k => $v){
if($v['banji']==1){ //如果banji=1则求语文成绩
echo "语文成绩={$v['yuwen']}";
}elseif($v['banji']==2){ //如果banji=2则求数学成绩
echo "语文成绩={$v['shuxue']}";
}
if($v['xingming']=='x'){ //有一个姓名为$x是否在banji1
if($v['banji']==1){
echo "xingmign为x的是班级1";
}else{
echo "xingmign为x的不是班级1";
}
}
}
⑤ PHP中数据类型 array和object有什么区别
具体的概念区别你可以查看php帮助手册,我说下个人的理解:
通常来说,array是数组,而object是对象,两者有很大的区别,最主要的区别我觉得对象一般要定义行为,其目的是为了封装,而数组主要定义数据结构。
但这两种在php语言里区别比较模糊,因为php是支持范数据类型,所以array可以是object,反之亦然。
⑥ php访问对象属性为数组时的情况
一样得,例如:
<?php
classstudent{
private$id;//定义属性,学号
private$name;//定义属性,姓名
private$teacher;//定义属性,所属老师,array
//读取值
publicfunctiongetteacher(){
$this->teacher=array('甲','乙');
return$this->teacher;
}
}
$d=newstudent();
$stu_teacher=$d->getteacher();
echo"<pre>";
print_r($stu_teacher);
echo"</pre>";
?>