php 传值带%27,PHP函数参考27-变量处理函数

doubleval — floatval 的别名

empty — 检查一个变量是否为空

判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE.

以下的东西被认为是空的:

"” (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

“0” (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

所以: empty() 本质上与 !isset($var) || $var == false 等价。

floatval — 获取变量的浮点值

var 可以是任何标量类型。你不能将 floatval() 用于数组或对象。

get_defined_vars — 返回由所有已定义变量所组成的数组

此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。

$b = array(1,1,2,3,5,8);

$arr = get_defined_vars();

// 打印 $b

print_r($arr["b"]);

// 打印 PHP 解释程序的路径(如果 PHP 作为 CGI 使用的话)

// 例如:/usr/local/bin/php

echo $arr["_"];

// 打印命令行参数(如果有的话)

print_r($arr["argv"]);

// 打印所有服务器变量

print_r($arr["_SERVER"]);

get_resource_type — 返回资源(resource)类型

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。

$c = mysql_connect();

echo get_resource_type($c)."\n";

// 打印:mysql link

$fp = fopen("foo","w");

echo get_resource_type($fp)."\n";

// 打印:file

gettype — 获取变量的类型

不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含了字符串的比较,它的运行也是较慢的。

建议使用is_函数:is_array()、is_bool()、is_float()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()。

intval — 获取变量的整数值

intval( mixed $var[, int $base = 10] ) : int

通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

注意:除非 var 是一个字符串,否则 base 不会起作用。

echo intval(42, 8); // 42

echo intval('42', 8); // 34

is_array — 检测变量是否是数组

is_bool — 检测变量是否是布尔型

is_callable — 检测参数是否为合法的可调用结构

is_countable — Verify that the contents of a variable is a countable value

is_double — is_float 的别名

is_float — 检测变量是否是浮点型

is_int — 检测变量是否是整数

若想测试一个变量是否是数字或数字字符串(如表单输入,它们通常为字符串),必须使用 is_numeric()。

is_integer — is_int 的别名

is_iterable — Verify that the contents of a variable is an iterable value

is_long — is_int 的别名

is_null — 检测变量是否为 NULL

is_numeric — 检测变量是否为数字或数字字符串

is_object — 检测变量是否是一个对象

is_real — is_float 的别名

is_resource — 检测变量是否为资源类型

is_scalar — 检测变量是否是一个标量

如果给出的变量参数 var 是一个标量,is_scalar() 返回 TRUE,否则返回 FALSE。

标量变量是指那些包含了 integer、float、string 或 boolean的变量,而 array、object 和 resource 则不是标量。

is_string — 检测变量是否是字符串

isset — 检测变量是否已设置并且非 NULL

isset说简单又不简单,很多注意细节:

检测变量是否设置,并且不是 NULL。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

同时要注意的是 null 字符("\0”)并不等同于 PHP 的 NULL 常量。

如果一次传入多个参数,那么 isset() 只有在全部参数都以被设置时返回 TRUE 计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

print_r — 以易于理解的格式打印变量。

print_r( mixed $expression[, bool $return = FALSE] ) : mixed

很多phper并不知道print_r可以返回值,想要获取 print_r() 输出的内容,使用 return 参数。当此参数为 TRUE,print_r() 会直接返回信息,而不是输出。

serialize — 产生一个可存储的值的表示

serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。

但适合在php环境内传递序列串。

settype — 设置变量的类型

strval — 获取变量的字符串值

var 可以是任何标量类型。不能将 strval() 用于数组或对象。

unserialize — 从已存储的表示中创建 PHP 的值

如果传递的字符串不可解序列化,则返回 FALSE

unset — 释放给定的变量

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

unset() 销毁指定的变量。

unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

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

function destroy_foo() {

global $foo;

unset($foo);

}

$foo = 'bar';

destroy_foo();

echo $foo;//bar

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

unset($GLOBALS['bar']);

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

function foo(&$bar) {

unset($bar);

$bar = "blah";

}

$bar = 'something';

echo "$bar\n";//something

foo($bar);

echo "$bar\n";//something

如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

function foo()

{

static $bar;

$bar++;

echo "Before unset: $bar, ";

unset($bar);

$bar = 23;

echo "after unset: $bar\n";

}

foo();//Before unset: 1, after unset: 23

foo();//Before unset: 2, after unset: 23

foo();//Before unset: 3, after unset: 23

所以对于在局部中想unset一个全局(global引入)或外部变量(引用传递),并不会影响全局变量或外部变量。

// 销毁单个变量

unset ($foo);

// 销毁单个数组元素

unset ($bar['quux']);

// 销毁一个以上的变量

unset($foo1, $foo2, $foo3);

var_dump — 打印变量的相关信息

支持打印多个变量表达式。

var_export — 输出或返回一个变量的字符串表示

var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 函数类似,不同的是其返回的表示是合法的 PHP 代码。

常用于返回一个数组php代码,用于保存数组配置。

注意:var_export与print_r一样都有第二个参数,设置为true时,将不直接输出,而是返回值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值