遇到的基础php函数、方法

0x01 PHP file() 函数

file() 函数把整个文件读入一个数组中。

数组中的每个元素都是文件中相应的一行,包括换行符在内。

实例:

<?php
print_r(file("test.txt"));
?>

上面的代码将输出:

Array
(
[0] => Hello World. Testing testing!
[1] => Another day, another line.
[2] => If the array picks up this line,
[3] => then is it a pickup line?
)

0x02PHP print_r() 函数

print_r() 函数用于打印变量,以更容易理解的形式展示。

PHP 版本要求: PHP 4, PHP 5, PHP 7

实例:

<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>

输出结果为:

Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )

)

0x03 php函数system(),exec(),passthru()的区别

php提供了system(),exec(),passthru()这几个函数来调用外部的命令.

区别: 
system() 输出并返回最后一行shell结果。 
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。 
相同点:都可以获得命令执行的状态码

0x04 php eval函数

eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。

例如:

eval("echo'hello world';");
上边代码等同于下边的代码:
echo"hello world";

在浏览器中都输出:hello world
1.eval函数的参数的字符串末尾一定要有分号,在最后还要另加一个分号(这个分号是php限制)

2.注意在命令式字符串(包括分号)两边必须要有双引号或者根据需要用单引号。否则报错。 命令式字符串是指:字符串中包括echo、print之类的命令的时候。 如果参数只有一个变量则可以不用。

3.注意单引号,双引号和反斜杠的运用。如果参数中带有变量时,并且变量有赋值操作的话,变量前的$符号钱一定要有\来转义。如果没有赋值操作可以不需要。

@ 放在函数前有屏蔽出错信息的作用。

0x05 PHP file_get_contents() 函数

file_get_contents() 把整个文件读入一个字符串中。

该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。

实例:

<?php
echo file_get_contents("test.txt");
?>

上面的代码将输出:

This is a test file with test text.

容易造成伪协议与文件包含

0x06 PHP的get_defined_functions()函数

列出所有函数

php内置函数和自己定义的所有函数

print_r(get_defined_functions());

0x07 PHP中的array_merge()函数与array+array的区别

在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别.

区别如下:

 1、当下标为数值时,array_merge()不会覆盖掉原来的值,但array+array合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖). 

2、当下标为字符时,array+array仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值. 

例子:

$arr1 = ['PHP', 'apache'];
$arr2 = ['PHP', 'MySQl', 'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);

结果:

$mergeArrarray (size=6)
  0 => string 'PHP' (length=3)
  1 => string 'apache' (length=5)
  2 => string 'PHP' (length=3)
  3 => string 'MySQl' (length=5)
  4 => string 'HTML' (length=4)
  5 => string 'CSS' (length=3)

$plusArrarray (size=4)
  0 => string 'PHP' (length=3)
  1 => string 'apache' (length=5)
  2 => string 'HTML' (length=4)
  3 => string 'CSS' (length=3

0x08 PHP中的include()函数

include()语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。

<?php include 'filename'; ?>
<?php include("dbconnect.php");
?>

require语句和include的功能是相同的,只是在错误处理方面不一样。

require 会生成致命错误(E_COMPILE_ERROR)并停止脚本。

include 只生成警告(E_WARNING),并且脚本会继续。

容易造成文件包含

0x09 PHP中的die()函数

die() 函数输出一条消息,并退出当前脚本。

该函数是 exit() 函数的别名。

die(status)

 

转载于:https://www.cnblogs.com/-chenxs/p/11461475.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值