本节内容:
php一次随机读一行txt文件
例子:
<?php
/**
* 随机读取文件内容
* edit: www.
*/
function rarray_rand( $arr ){
return mt_rand( 0, count( $arr ) - 1 );
}
function varray_rand( $arr ) {
return $arr[rarray_rand($arr)];
}
$key = file("./key.txt");
$keyword=trim(varray_rand($key));
本节内容:
php 延迟静态绑定static关键字
例子:
<?php
abstract class DomainObject {
public static function create()
{
return new self();
}
}
class User extends DomainObject {}
class Document extends DomainObject {}
print_r(Document::create());
说明:
以上代码运行失败,因为 self 被解析为 DomainObject,将 self 换为 static。
例子:
<?php
abstract class DomainObject {
public static function create()
{
return new static();
}
}
class User extends DomainObject {}
class Document extends DomainObject {}
print_r(Document::create());
运行成功,浏览器输出:
Document Object ( )
说明:
static 类似于 self,但它指的是被调用的类而不是包含类。
本节内容:
php输出函数 var_dump、var_export、print_r
1,var_dump:打印变量的相关信息,包括该变量的类型和值
比如
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
输出:
bool(true)</pre> [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }}
2,var_export:输出或返回一个变量的字符串表示,和var_dump()类似,不同的是其返回的合法的php代码
如:
$b = 3.1;
$c = true;
var_dump($b, $c);
<pre name="code" ><?php
$a = array (1, 2, array ("a", "b", "c"));
var_export ($a);
/* 输出:
array (
0 => 1,
1 => 2,
2 =>
array (
0 => 'a',
1 => 'b',
2 => 'c',
),
)
*/
$b = 3.1;
$v = var_export($b, TRUE);
echo $v;
<pre name="code" ><?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>/* 输出:3.1*/?>
3,print_r:打印变量易于理解的信息
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
输出:
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)