php值得注意的函数(持续更新)_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php值得注意的函数(持续更新)

php值得注意的函数(持续更新)

 2013/6/19 11:17:57  home198979  程序员俱乐部  我要评论(0)
  • 摘要:变量:empty—检查一个变量是否为空boolempty(mixed$var)如果var是非空或非零的值,则empty()返回FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var$var;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回TRUE。除了当变量没有置值时不产生警告之外,empty()是(boolean)var的反义词。(var必需是一个变量,不能是一个常数,否则会报错)unset—释放给定的变量voidunset(mixed$var[
  • 标签:PHP 函数

class="refname">变量:

empty检查一个变量是否为空

bool empty ( mixed $var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""0"0"NULLFALSEarray()var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

除了当变量没有置值时不产生警告之外,empty()(boolean) var的反义词。(var必需是一个变量,不能是一个常数,否则会报错)

?

unset释放给定的变量

void unset ( mixed $var [, mixed $var [, $... ]] )

(1)如果在函数中 function" style="line-height: 1.5;">unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调unset() 之前一样的值。

<?php
function destroy_foo() {
    global $foo;
    unset($foo);
}

$foo = 'bar';
destroy_foo();
echo $foo;            //bar
?> 

?(2)如果在函数中 unset()一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。

<?php
function foo(&$bar) {
    unset($bar);
    $bar = "blah";
}

$bar = 'something';
echo "$bar\n";          //something

foo($bar);
echo "$bar\n";         //something
?> 

?(3)如果在函数中 unset()一个静态变量,则 unset()将销毁此变量及其所有的引用。

<?php
function foo() {
    static $a;
    $a++;
    echo "$a\n";
    unset($a);
}

foo();          //1
foo();          //2
foo();          //3
?> 

?(4)如果您想在函数中 unset()一个全局变量,可使用 $GLOBALS数组来实现:

?

<?php
function foo() {
    unset($GLOBALS['bar']);
}

$bar = "something";
foo();
var_dump($bar);           //BULL
?> 

?

?

字符串:

strpos查找字符串首次出现的位置

?

<?php
$a= 'abc';
var_dump(strpos('abcd', $a));    //0
var_dump(strpos('abd', $a));      //false
?>

?

Warning

此函数可能返回布尔值FALSE,但也可能返回等同于 FALSE 的非布尔值,例如 0 或""(空串)。请阅读 布尔类型章节以获取更多信息。应使用 ===运算符 来测试此函数的返回值。

?

?

?

数组:

in_array检查数组中是否存在某个值

bool in_array ( mixed $needle , array $haystack [, bool $strict ] )

Note:

如果 needle 是字符串,则比较是区分大小写的。

Note:

在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。

?

<?php
$a = array('1', 0, 3);
var_dump(in_array('a', $a));            //true
var_dump(in_array('a', $a,true));    //false
var_dump(in_array('3', $a));           //true
var_dump(in_array('3', $a,true));    //false
?>

?

Note:

如果第三个参数 strict 的值为 TRUEin_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

?

count计算数组中的单元数目或对象中的属性个数

int count ( mixed $var [, int $mode ] )

?

返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。

?

对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 count(),此方法返回 count()函数的返回值。

?

如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 varNULL 则结果是 0

?

如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count()递归地对数组计数。对计算多维数组的所有单元尤其有用。mode的默认值是 0count()识别不了无限递归。

?

?

<?php
var_dump(count($a));  
var_dump(count(0));
var_dump(count(false));
var_dump(count(null));
var_dump(count(array()));
var_dump(count('123'));
$food = array('fruits'  => array('orange', 'banana', 'apple'),
              'veggie'  => array('carrot', 'collard','pea'));
var_dump(count($food, COUNT_RECURSIVE));  
var_dump(count($food));                  
?>
int(0) int(1) int(1) int(0) int(0) int(1) int(8) int(2)

?

?

?URL:

?

urlencode — 编码 URL 字符串

返回字符串,此字符串中除了 -_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页:

注意:小心与 HTML 实体相匹配的变量。像 &amp、&copy 和 &pound 都将被浏览器解析,并使用实际实体替代所期待的变量名。这是明显的混乱,W3C 已经告诫人们好几年了。参考地址:? http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2。PHP 通过 arg_separator.ini 指令,支持将参数分割符变成 W3C 所建议的分号。不幸的是大多数用户代理并不发送分号分隔符格式的表单数据。较为简单的解决办法是使用 &amp; 代替 & 作为分隔符。你不需要为此修改 PHP 的 arg_separator。让它仍为 &,而仅使用 htmlentities()htmlspecialchars() 对你的 URL 进行编码。

发表评论
用户名: 匿名