最近经常有小伙伴私信询问php分割数组函数 split和explode的区别 PHP中empty和isset的区别相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。
本文目录一览:

php分割数组函数 split和explode的区别
一句话总结这三个分割函数的
explode用字符串分割,split和 preg_split用正则分割.
效率方面: explode最快, 其次preg_split最后split.
split()函数
用正则表达式来把字符串拆分并返回数组,如果出错则返回false。
用法: split(string $pattern,string $string [,int $limit])
pattern:相应的正则表达式
string:字符串
limit:指定字符串分割的最大数目
例子1:
<?php
$expression="3*5+12/6-15";
$pattern="/";
$limit=3;
$parts=split($pattern,$expression,$limit);
print_r($parts);
?>
结果:
Array
(
[0] => 3*5+12
[1] => 6-15
)
例子2:
<?php
$expression="3*5+12/6-15";
$pattern="[+/]";
$limit=3;
$parts=split($pattern,$expression,$limit);
print_r($parts);
?>
结果:
Array
(
[0] => 3*5
[1] => 12
[2] => 6-15
)
preg_split() 函数
用 Perl 兼容正则表达式语法,通常比 split() 更快。
preg_split:用正则表达式分隔字符串
4.3.0版本:增加了标记PREG_SPLIT_OFFSET_CAPTURE.
4.0.5版本:增加了标记PREG_SPLIT_DELIM_CAPTURE.
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
以上程序输出样式:
Array
(
[0] => s
[1] => t
[2] => r
[3] => i
[4] => n
[5] => g
)
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
以上程序输出样式:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
explode()函数
使用一个字符串分割另一个字符串
<?php
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
var_dump($pieces);
?>
输出:
Array
(
[0] => one
[1] => two|three|four
)

PHP中empty和isset的区别
PHP 中 empty 和 isset 函数都用于检测给定参数目标情况,其区别如下:
我爱编程网
一、函数功能设计所实现的目标不一样:
empty 主要用于:检测给定参数目标是否是“空值”。
isset 主要用于:检测给定参数目标是否设置。
empty 函数检测一个变量是否为以下空值:
isset 函数虽然也会检测给定变量是否为 NULL 的情况,但更主要的目的用于检测给定目标参数是否设置。
从以下实际代码实例中,可能更明显看出两者的区别:
<?php
function MyTest($test)
{
// 判断 $var 变量是否为空
if (empty($test))
echo '$var 变量是空值。<BR>';
else
echo '$var 变量不是空值。<BR>';
// 判断 $var 变量是否设置
if (isset($test))
echo '$var 变量已经设置(即使$var=0)。<BR>';
else
echo '$var 变量没有设置。<BR>';
}
$var = NULL;
echo '判断目标参数:$var = NULL:<BR>';
MyTest($var);
echo '<BR>';
$var1 = 1;
echo '判断目标参数:$var1 = 1:<BR>';
MyTest($var1);
echo '<BR>';
$var2 = 0;
echo '判断目标参数:$var2 = 0:<BR>';
MyTest($var2);
echo '<BR>';
?>
上面代码的实际运行结果:
二、参数数量不同:
empty 只能检查一个变量,而 isset 可以检查多个变量。
PHP isset()与empty()的使用区别详解
我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP isset()与empty()的使用区别详解的相关内容。
PHP的`isset()`函数主要用于检测变量是否已被设定。其语法为`bool isset ( mixed var [, mixed var [, ...]])`。它主要功能是检测变量是否已被设定。如果变量不存在,则返回`FALSE`;如果变量存在但其值为`NULL`,同样返回`FALSE`;如果变量存在且值非`NULL`,则返回`TRUE`。此函数可以用于检查多个变量,只有所有变量均满足上述条件时,才会返回`TRUE`。版本要求从PHP 3开始支持此函数。
`empty()`函数则用于判断值是否为空。其格式为`bool empty ( mixed var )`。如果变量不存在,返回`TRUE`;如果变量存在且值为`""、0、"0"、NULL、FALSE、array()、var $var;`或没有任何属性的对象,则返回`TRUE`;如果变量存在且值非上述情况,则返回`FALSE`。此函数同样支持多个变量的检查,所有变量均符合上述情况时返回`TRUE`,否则返回`FALSE`。从PHP 3开始支持此函数。
`empty()`函数的返回值与`!(boolean) var`等价,但不会因变量未定义而产生警告信息。更多关于转换为布尔值的信息,可以参考相关文档。同样,`empty()`只能用于变量,传递任何非变量参数将导致解析错误。
`isset()`与`empty()`在某些情况下可能会产生混淆,特别是当变量值为`0`时。例如,如果`$id=0`,使用`empty($id)`会返回`TRUE`,而`isset($id)`则会返回`TRUE`,因为`$id`已被定义。因此,当预期变量值可能为`0`时,建议使用`isset()`来判断变量是否已被设定。
总结,使用`isset()`函数来判断一个变量是否已设定,使用`empty()`函数来判断变量是否为空。在需要判断一个变量存在且不为空时,先使用`isset()`确保变量已设定,再使用`empty()`确保变量值非空。
以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。