PHP中的stdClass
PHP中的stdClass
如果所有的Class都应该存在于一个默认的层级中的话,那么最顶层应该是最为一般的Class,也就是说极为抽象的,每一个下层的Class均比其上层的Class(即父类)更加专门化。基于该思想,在PHP中,这个顶层的Class被命名为"stdClass",且作为一个"Standard Class",你可以把它看成是一个不含任何属性和方法的类。
使用stdClass的目的: 在运行时添加属性到基对象(Base Object)
问题
你想创建一个对象,并在其中添加一些属性,但是你却不想把它作为一个明确的类正式地定义它。这一点在一些情况下是相当有用的,例如当你定义了一个方法来返回带有某些属性(不确定的)的对象时,如通过 mysql_fetch_object( ) 返回结果集对象的时,对某些属性不确定是否存在,又不想一个个isset检验的时候。
解决方案
使用PHP内建类,stdClass ,例如:
<?php $sql="SELECT name,email FROM users WHERE id=$id"; $dbh=mysql_query($sql); $obj=mysql_fetch_object($dbh); if(!$obj) $obj=new StdClass; $array=array( 'name'=>$obj->name, 'email'=>$obj->email );
最后, 这种在运行时为一个空对象设置属性的用法,不难看出也会给我们带来一些问题,如你无法真正确定这个对象是谁,目的是什么。
您可能感兴趣的文章
- php中$this、static、final、const、self 等几个关键字的用法
- PHP 字符串转义函数(addslashes,stripslashes)详解
- php中empty,is_null,isset的区别详解
- 如何删除PHP数组中的元素(unset,array_splice)?
- php在数组中查找某个值是否存在(in_array(),array_search(),array_key_exists())
- php字符串替换函数str_replace速度比preg_replace快
- php中在变量和函数前加static关键字之后的区别
- php中关于抽象(abstract)类和抽象方法的问题解析

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an
