您的位置:首页 > 编程语言 > PHP开发

一些不常用的php函数

2018-01-25 15:21 239 查看
PHP_EOL

代表php的换行符,这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r

memory_get_usage()

说明

int memory_get_usage ([ bool $real_usage = false ] )

返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte)。

参数

如果设置为 TRUE,获取系统分配总的内存尺寸,包括未使用的页。

如果未设置或者设置为 FALSE,仅仅报告实际使用的内存量。

返回值

返回内存量字节数。

ini_set()

为一个配置选项设置值

说明

string ini_set ( string varname,stringvarname,stringnewvalue )

设置指定配置选项的值。这个选项会在脚本运行时保持新的值,并在脚本结束时恢复。

参数

varname

不是所有有效的选项都能够用 ini_set() 来改变的。

newvalue

选项新的值。

返回值

成功时返回旧的值,失败时返回 FALSE。

ob_start()

打开输出控制缓冲

说明

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )


此函数将打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。

内部缓冲区的内容可以用 ob_get_contents() 函数复制到一个字符串变量中。 想要输出存储在内部缓冲区中的内容,可以使用 ob_end_flush() 函数。另外, 使用 ob_end_clean() 函数会静默丢弃掉缓冲区的内容。

list()

把数组中的值赋给一组变量

语言结构,非函数

list() 仅能用于数字索引的数组,并假定数字索引从 0 开始。

PHP 5 里,list() 从最右边的参数开始赋值; PHP 7 里,list() 从最左边的参数开始赋值。

在 list() 执行过程中修改数组(比如使用
list($a, $b) = $b
)将会产生不可预知的结果。

Example #1 list() 例子

<?php

$info = array('coffee', 'br
b6c9
own', 'caffeine');

// 列出所有变量
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";

// 列出他们的其中一个
list($drink, , $power) = $info;
echo "$drink has $power.\n";

// 或者让我们跳到仅第三个
list( , , $power) = $info;
echo "I need $power!\n";

// list() 不能对字符串起作用
list($bar) = "abcde";
var_dump($bar); // NULL
?>


Example #2 list() 用法的一个例子

<table>
<tr>
<th>Employee name</th>
<th>Salary</th>
</tr>
<?php
$result = $pdo->query("SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = $result->fetch(PDO::FETCH_NUM)) {
echo " <tr>\n" .
"  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
"  <td>$salary</td>\n" .
" </tr>\n";
}
?>
</table>


Example #3 使用嵌套的 list()

<?php
list($a, list($b, $c)) = array(1, array(2, 3));
var_dump($a, $b, $c);
/*
int(1)
int(2)
int(3)
*/
?>


Example #4 在 list() 中使用数组索引

<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
/*
array(3) {
[0]=>
string(6) "coffee"
[1]=>
string(5) "brown"
[2]=>
string(8) "caffeine"
}
*/
?>


Example #5 list() 和索引顺序定义

list() 使用 array 索引的顺序和它何时定义无关。

<?php
$foo = array(2 => 'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);

/*
得到以下输出(注意比较 list() 所写的元素顺序):

array(4) {
[2]=>
string(1) "a"
["foo"]=>
string(1) "b"
[0]=>
string(1) "c"
[1]=>
string(1) "d"
}
string(1) "c"
string(1) "d"
string(1) "a"
*/


each()

返回数组中当前的键/值对并将数组指针向前移动一步

键值对被返回为四个单元的数组,键名为0,1,key和 value。

单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

<?php
$foo = array("key1" => "val1", "key2" => "val2");
$bar = each($foo);
print_r($bar);
?>

/*
Array
(
[1] => val1
[value] => val1
[0] => key1
[key] => key1
)
*/

?>


each() 经常和 list() 结合使用来遍历数组

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}

/*
a => apple
b => banana
c => cranberry
*/
?>


current() 返回数组当前单元值

next() 返回数组下一个单元值

reset() 返回数组第一个单元值

prev() - 将数组的内部指针倒回一位

key() - 从关联数组中取得键名

extract() - 从数组中将变量导入到当前的符号表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: