本节主要内容:
PHP extract() 函数用法
extract() 函数的定义和用法
PHP extract() 函数从数组中把变量导入到当前的符号表中。
对于数组中的每个元素,键名用于变量名,键值用于变量值。
第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
本函数返回成功设置的变量数目。
语法
extract(array,extract_rules,prefix)
参数 描述
array 必需。规定要使用的输入
extract_rules
可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中的变量名是否冲突。
对非法、数字和冲突的键名的处理将根据此参数决定。可以是以下值之一:
可能的值:
EXTR_SKIP - 如果有冲突,不覆盖已有的变量。(忽略数组中同名的元素)
EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。自 PHP 4.0.5 起,这也包括了对数字索引的处理。
EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix(第三个参数)。
EXTR_PREFIX_INVALID - 仅在非法或数字变量名前加上前缀 prefix。本标记是 PHP 4.0.5 新加的。
EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。可以用在已经定义了一组合法的变量,然后要从一个数组例如 $_REQUEST 中提取值覆盖这些变量的场合。本标记是 PHP 4.2.0 新加的。
EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。本标记是 PHP 4.2.0 新加的。
EXTR_REFS - 将变量作为引用提取。这有力地表明了导入的变量仍然引用了 var_array 参数的值。可以单独使用这个标志或者在 extract_type 中用 OR 与其它任何标志结合使用。本标记是 PHP 4.3.0 新加的。
prefix
可选。请注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。
前缀和数组键名之间会自动加上一个下划线。
下面举两个extract() 函数的例子,通过实例来学习extract() 函数的用法。
例1
//导出数组为变量
$a = 'Original';
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array); // www.
echo "\$a = $a; \$b = $b; \$c = $c";
?>
输出结果:
$a = Cat; $b = Dog; $c = Horse
例2,使用全部参数:
<?php
$a = 'Original';
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array, EXTR_PREFIX_SAME, 'dup');
echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a;";
?>
输出结果:
$a = Original; $b = Dog; $c = Horse; $dup_a = Cat;
php中get_class()函数的例子:
class Foo {
function name_none_static(){
echo "My name is " . get_class() . "<br>";
echo "My name is " . get_class($this) . "<br>";
}
}
//类内部调用
$bar = new Foo();
$bar->name_none_static();
//类外部调用
echo "Its name is " . get_class($bar) . "<br>";
?>
输出结果:
My name is Foo
My name is Foo
Its name is Foo
get_class 函数
(PHP 4, PHP 5)
get_class — 返回对象的类名
Report a bug
reject note 说明
string get_class ([ object $obj ] )
返回对象实例 obj 所属类的名字。如果 obj 不是一个对象则返回 FALSE。
Note: 在 PHP 扩展库中定义的类返回其原始定义的名字。在 PHP 4 中 get_class() 返回用户定义的类名的小写形式,但是在 PHP 5 中将返回类名定义时的名字,如同扩展库中的类名一样。
Note:
自 PHP 5 起,如果在对象的方法中调用则 obj 为可选项。
例1,使用 get_class()
<?php
class foo {
function foo()
{
// implements some logic
}
function name()
{
echo "My name is " , get_class($this) , "\n";
}
}
// create an object
$bar = new foo();
// external call
echo "Its name is " , get_class($bar) , "\n";
// internal call
$bar->name();
?>
输出:
Its name is foo
My name is foo
php操作数据库的例子:
<?php
//1,连接数据库
$conn = mysql_connect()('127.0.0.1','root','root');
if(!$conn){
die("连接失败".mysql_error);
}
//2,选择数据库
mysql_select_db("test");
//3,发送操作语句
$sql="select * from user";
//4,接收结果
$res=mysql_query()($sql,$conn);
//5,遍历结果
while($row=mysql_fetch_row($res)){
echo "<br/> $row[0]--$row[1]--$row[2]";
} // www.
//6,关闭
mysql_free_result($res);
mysql_close($conn);
?>
您可能感兴趣的文章:
php数据库连接、查询、显示结果的小例子
php mysql数据库类(兼容php4与php5)
php连接mysql数据库的类(接口实现)
php 打开连接并选择数据库的实例代码
php操作数据库的简单例子
php连接数据库的简单例子
php mysql数据库操作类
php实现数据库链式查询的简单例子
一个php调用数据库类的例子
一个php调用数据库的类
php数据库操作代码大全