phpstdclass
‘壹’ php的stdClass类详解及几种数组对象转换方法
一、stdClass数组转对象
$arr=array();
$arr['a']=1;
$arr['b']=2;
$arr['c']=3;
$object=newstdClass;
foreach($arras$key=>$value){
$object->$key=$value;
}
var_mp($object);
结果输出如下:
object(stdClass)#1(3){
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
int(3)
}
二、对象转数组
functionobject_to_array($obj)
{
$_arr=is_object($obj)?get_object_vars($obj):$obj;
foreach($_arras$key=>$val)
{
$val=(is_array($val)||is_object($val))?object_to_array($val):$val;
$arr[$key]=$val;
}
return$arr;
}
三、ArrayObject方法数组转对象
$arr=array('key1'=>'test1','key2'=>'test2');
var_mp(newArrayObject($arr));
结果输出如下:
object(ArrayObject)#1(1){
["storage":"ArrayObject":private]=>
array(2){
["key1"]=>
string(5)"test1"
["key2"]=>
string(5)"test2"
}
}
‘贰’ php stdclass 怎么转换为数组并遍历出来
使用mysql_fetch_assoc函数,具体用法可以查看一下手册,还有几个相关的函数,我一般是用这个。
$list = array();//声明一个数组用来存放数据
//$row 为取出来的一行的数据,把他放到$list里面
//$rs就是你从数据库查询出来的资源
while($row = mysql_fetch_assoc($rs)) {
$list[] = $row;
}
‘叁’ php中 stdclass object是什么
stdClass在PHP5才开始被流行。而PHP stdClass也是zend的一个保留类。似乎没有其他作用。也几乎没有任何说明。
或者,我们可以这么理解:PHP stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。
凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。
说简单的一些,stdClass()就是一个程序员实现提前声明的类,也就是说我们可以随时让一个变量成为一个类对象的实例而不需要先声明类才能创建类对象的实例。
‘肆’ PHP中遍历stdclass object的如何实现代码
用get_object_vars()函数转换成数组。也可以声明一下这个变量类型 $test = (array)$test;,效果是一样的。前者需要解析处理。后者就没有那么麻烦处理了。
‘伍’ 【PHP】如何打印镶嵌的stdclass object 数组
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==xinjian)
{
text.setText("");
}
if(e.getSource()==dakai)
{
openFD.show();
String s;
‘陆’ php stdclass 如何打印
我举个例子,希望有帮助:
<?php
$std=newstdClass();
$std->id=12345;
$arr=array(
'list'=>array($std)
);
print_r($arr);
//打印id
echo$arr['list'][0]->id;
exit;
‘柒’ php的smarty出错,Call to undefined method stdClass::createTemplate()
stdclass在php中是预定义的几个类之一,是zent保留的一个类。实际上它是PHP提供的一个基类,就是一个空白的 类,里面什么都没有,我们可以实例化它,然后定义一系列的变量,通过它来进行变量的传递(很多php程序员用它来传递一系列变量的值,而同时又懒得去创建 一个自己的类)。但是,由于实例化后不能添加方法,只能传递属性。因为,一旦类被实列化以后,就不能在添加方法了。--from
‘捌’ php stdClass Object 解析
//调用这个函数,将其幻化为数组,然后取出对应值
functionobject_array($array)
{
if(is_object($array))
{
$array=(array)$array;
}
if(is_array($array))
{
foreach($arrayas$key=>$value)
{
$array[$key]=object_array($value);
}
}
return$array;
}
‘玖’ PHP中stdClass Object怎么获取指定数据
这是json_decode出来的对象
$result = json_decode($jsonstr);
echo $result->Code;
echo $result->Message;
json_decode支持转为数组或对象, 转为数组的时候第二个参数传true
$result = json_decode($jsonstr,true);
echo $result['Code'];
echo $result['Message'];
‘拾’ php出来了个undefined property:stdclass 的错误,怎么办呢
这种情况一般是你对一个类对象,使用了属性调用造成的。
比如应该是
echo$a->att1;
你写错成了:
echo$a['att1'];
改回来就可以了。
PHP中使用关键字 class 来定义一个类。类的命名一般使用首字符大写,而后每个单词首字符大写连接的方式方便阅读。
在PHP5中,属性指在class 中声明的变量。在声明变量时,必须使用 public private protected 之一进行修饰,定义变量的访问权限。PHP中的属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)
Public(公开): 可以自由的在类的内部外部读取、修改。
Private(私有): 只能在这个当前类的内部读取、修改。
Protected(受保护):能够在这个类和类的子类中读取和修改。属性的使用:通过引用变量的 -> 符号调用变量指向对象的属性。
在方法内部通过 $this-> 符号调用同一对象的属性。
所以应该用箭头调用而不是括号。