当前位置: 编程技术>php
本页文章导读:
▪php Static关键字实用方法
为了兼容PHP4,如果没有指定“可见性”,属性和方法默认为public。 由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。 静态属性也可以由对象通过->操作符来.........
▪PHP var_dump遍历对象属性的函数与应用代码
本文章下面我们要为你提供二种关于遍历对象属性方法,并且举例说明遍历对象属性在php中的应用。可以看出私有变量与静态变量时获取不到的,只有定义为公共变量才可以读出来。 遍历.........
▪IIS下PHP连接数据库提示mysql undefined function mysql_connect()
一、 将PHP.ini中以下几个参数前面的“;”去掉: 代码如下: ;extension=php_dba.dll ;extension=php_gd2.dll ;extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_pdo..........
[1]php Static关键字实用方法
来源: 互联网 发布时间: 2013-11-30
为了兼容PHP4,如果没有指定“可见性”,属性和方法默认为public。
由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。
静态属性也可以由对象通过->操作符来访问。
用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。
就像其它所有的PHP静态变量一样,静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 所以你可以把静态属性初始化为整型或数组,但不能指向另一个变量或函数返回值,也不能指向一个对象。
PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。
<?php
class Foo
{
public static $my_static = 'foo';
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo
{
public function fooStatic() {
return parent::$my_static;
}
}
print Foo::$my_static . "\n";
$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n"; // Undefined "Property" my_static
print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n"; // PHP 5.3.0之后可以动态调用
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>
PHP里边用Static关键字来定义静态属性和方法.
实例一:静态属性的引用方法
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
function song(){
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性
}
}
echoperson::$name."<br>";//类外部:通过类名person访问静态属性
echoperson::$age."<br>";//类外部:通过类名person访问静态属性
echoperson::$address."<br>";//类外部:通过类名person访问静态属性
?>
实例二:静态方法的引用方法
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
staticfunction song(){ //声明静态方法song
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性
}
}
person::song()."<br>";//类外部:通过类名person访问静态方法
?>
由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。
静态属性也可以由对象通过->操作符来访问。
用::方式调用一个非静态方法会导致一个E_STRICT级别的错误。
就像其它所有的PHP静态变量一样,静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 所以你可以把静态属性初始化为整型或数组,但不能指向另一个变量或函数返回值,也不能指向一个对象。
PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。
代码如下:
<?php
class Foo
{
public static $my_static = 'foo';
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo
{
public function fooStatic() {
return parent::$my_static;
}
}
print Foo::$my_static . "\n";
$foo = new Foo();
print $foo->staticValue() . "\n";
print $foo->my_static . "\n"; // Undefined "Property" my_static
print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n"; // PHP 5.3.0之后可以动态调用
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>
PHP里边用Static关键字来定义静态属性和方法.
实例一:静态属性的引用方法
代码如下:
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
function song(){
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性
}
}
echoperson::$name."<br>";//类外部:通过类名person访问静态属性
echoperson::$age."<br>";//类外部:通过类名person访问静态属性
echoperson::$address."<br>";//类外部:通过类名person访问静态属性
?>
实例二:静态方法的引用方法
代码如下:
<?php
/*
*author:ajax123
*qq:283400245
*/
class person{
static$name="ajax123";//static声明静态属性
static$age=25;//static声明静态属性
static$address="北京";//static声明静态属性
staticfunction song(){ //声明静态方法song
echo "My name is : ".self::$name."<br>";//类内部:通过通过self 类访问静态属性
echo "I am ".self::$age."<br>";//类内部:通过通过self 类访问静态属性
echo "I live in ".self::$address."<br>";//类内部:通过self 类访问静态属性
}
}
person::song()."<br>";//类外部:通过类名person访问静态方法
?>
[2]PHP var_dump遍历对象属性的函数与应用代码
来源: 互联网 发布时间: 2013-11-30
本文章下面我们要为你提供二种关于遍历对象属性方法,并且举例说明遍历对象属性在php中的应用。可以看出私有变量与静态变量时获取不到的,只有定义为公共变量才可以读出来。
遍历对象属性第一种方法:
<?php
class foo {
private $a;
public $b = 1;
public $c;
private $d;
static $e;
public function test() {
var_dump(get_object_vars($this));
}
}
$test = new foo;
var_dump(get_object_vars($test));
$test->test();
?>
结果如下:
array(2) {
["b"]=>
int(1)
["c"]=>
NULL
}
array(4) {
["a"]=>
NULL
["b"]=>
int(1)
["c"]=>
NULL
["d"]=>
NULL
}
遍历对象属性第二种方法:
<?php
class foo {
private $a;
public $b = 1;
public $c='';
private $d;
static $e;
public function test() {
var_dump(get_object_vars($this));
}
}
$test = new foo;
var_dump(get_object_vars($test));
$test->test();
?>
结果如下:
array(2) {
["b"]=>
int(1)
["c"]=>
string(8) ""
}
array(4) {
["a"]=>
NULL
["b"]=>
int(1)
["c"]=>
string(8) ""
["d"]=>
NULL
}
var_dump使用注意事项:
为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。
var_dump实例代码
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
/* 输出:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
*/
$b = 3.1;
$c = TRUE;
var_dump($b,$c);
/* 输出:
float(3.1)
bool(true)
*/
?>
遍历对象属性第一种方法:
代码如下:
<?php
class foo {
private $a;
public $b = 1;
public $c;
private $d;
static $e;
public function test() {
var_dump(get_object_vars($this));
}
}
$test = new foo;
var_dump(get_object_vars($test));
$test->test();
?>
结果如下:
array(2) {
["b"]=>
int(1)
["c"]=>
NULL
}
array(4) {
["a"]=>
NULL
["b"]=>
int(1)
["c"]=>
NULL
["d"]=>
NULL
}
遍历对象属性第二种方法:
代码如下:
<?php
class foo {
private $a;
public $b = 1;
public $c='';
private $d;
static $e;
public function test() {
var_dump(get_object_vars($this));
}
}
$test = new foo;
var_dump(get_object_vars($test));
$test->test();
?>
结果如下:
array(2) {
["b"]=>
int(1)
["c"]=>
string(8) ""
}
array(4) {
["a"]=>
NULL
["b"]=>
int(1)
["c"]=>
string(8) ""
["d"]=>
NULL
}
var_dump使用注意事项:
为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。
var_dump实例代码
代码如下:
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
/* 输出:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
*/
$b = 3.1;
$c = TRUE;
var_dump($b,$c);
/* 输出:
float(3.1)
bool(true)
*/
?>
[3]IIS下PHP连接数据库提示mysql undefined function mysql_connect()
来源: 互联网 发布时间: 2013-11-30
一、
将PHP.ini中以下几个参数前面的“;”去掉:
;extension=php_dba.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo.dll
;extension=php_pdo_mysql.dll
保存文件,重启IIS
具体说明
php.ini里面把
;extension=php_mysql.dll
改成
extension=php_mysql.dll
extension_dir = " "
改成
extension_dir = "ext/"
再把libmysql.dll复制到system32下最后再重启一下即可
测试php mysql是否可以连接
<?php
$link=mysql_connect( 'localhost ', 'root ', '123456 ');
if(!$link) echo "fail ";
else echo "success ";
mysql_close();
?>
二、
1.php_info() 查一下是否有mysql这一项(搜"mysql"关键字),如果有可能是版本兼容性问题
2.如果没有将php文件里的libmysql.dll复制到x:windowssystem32下 将php.ini里mysql模块的注释去掉 extension=php_mysql.dll 重启apache 如果还不行 重启一下机器试试 测试使用php_info()这个函数测试。
右键单击我的电脑->属性->高级->环境变量->系统环境变量
a. 在“系统环境变量”选中Path使这一行处于高亮状态,然后选择“编辑”,在变量值的最后加上“;D:\php”(php.exe所在目录)
b. “系统环境变量”->“新建”->变量名“PHPRC”->变量值“D:\php”(php.ini所在目录)->
2.察看 httpd.conf 文件中的PhpIniDir的设置 要指向 Php的目录。
3.尝试将 httpd.conf中的 PhpIniDir="C:/Php",改变成 PhpIniDir="C:\Php"。
将PHP.ini中以下几个参数前面的“;”去掉:
代码如下:
;extension=php_dba.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo.dll
;extension=php_pdo_mysql.dll
保存文件,重启IIS
具体说明
php.ini里面把
;extension=php_mysql.dll
改成
extension=php_mysql.dll
extension_dir = " "
改成
extension_dir = "ext/"
再把libmysql.dll复制到system32下最后再重启一下即可
测试php mysql是否可以连接
<?php
$link=mysql_connect( 'localhost ', 'root ', '123456 ');
if(!$link) echo "fail ";
else echo "success ";
mysql_close();
?>
二、
1.php_info() 查一下是否有mysql这一项(搜"mysql"关键字),如果有可能是版本兼容性问题
2.如果没有将php文件里的libmysql.dll复制到x:windowssystem32下 将php.ini里mysql模块的注释去掉 extension=php_mysql.dll 重启apache 如果还不行 重启一下机器试试 测试使用php_info()这个函数测试。
右键单击我的电脑->属性->高级->环境变量->系统环境变量
a. 在“系统环境变量”选中Path使这一行处于高亮状态,然后选择“编辑”,在变量值的最后加上“;D:\php”(php.exe所在目录)
b. “系统环境变量”->“新建”->变量名“PHPRC”->变量值“D:\php”(php.ini所在目录)->
2.察看 httpd.conf 文件中的PhpIniDir的设置 要指向 Php的目录。
3.尝试将 httpd.conf中的 PhpIniDir="C:/Php",改变成 PhpIniDir="C:\Php"。
最新技术文章: