㈠ php array 带保护的对象怎么获取
这就是public,protected,private的权限问题,
public:权限是最大的,可以内部调用,实例调用等。
protected: 受保护类型,用于本类和继承类调用。
private: 私有类型,只有在本类中使用。
protected,一般在实例里是取不到值的
㈡ PHP中数组是不是对象
不是对象。而且不是真正意义上的数组。
㈢ PHP中数据类型 array和object有什么区别
具体的概念区别你可以查看php帮助手册,我说下个人的理解:
通常来说,array是数组,而object是对象,两者有很大的区别,最主要的区别我觉得对象一般要定义行为,其目的是为了封装,而数组主要定义数据结构。
但这两种在php语言里区别比较模糊,因为php是支持范数据类型,所以array可以是object,反之亦然。
㈣ php数组对象元素排序问题
$fruits =array( 0 => array( 'id' => 1, 'type' => '普通发票', 'weight' => 1, 'is_start' => 1), 1 => array( 'id' => 2, 'type' => '增值税专用发票', 'weight' => 2, 'is_start' => 1), 2 => array( 'id' => 3, 'type' => '收据', 'weight' => 0, 'is_start' => 1), 3 => array( 'id' => 4, 'type' => '测试', 'weight' => 4, 'is_start' => 0) ); var_mp($fruits); function compare($x,$y) { if($x['weight'] == $y['weight']) return 0; elseif($x['weight'] < $y['weight']) return -1; else return 1; } usort($fruits,"compare"); echo $fruits[0]['id']."<br />"; echo $fruits[1]['id']."<br />"; echo $fruits[2]['id']."<br />"; echo $fruits[3]['id']."<br />";
㈤ PHP数组里面存放对象
楼上解释正确,不过我补充一下。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通过定义魔术函数__sleep __wakeup来实现。
㈥ php 判断array()数组是否为json数组对象格式
是否可以这样:
调用json_encode转换,以后转换是否失败(返回FALSE)为判断
㈦ 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.