沈逸老师PHP魔鬼特训笔记(2)
2016-06-30 00:26
429 查看
一、这一课会学习到几个懒人函数:
(PHP 5, PHP 7)
file_put_contents — 将一个字符串写入文件
和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
If
要被写入数据的文件名。
要写入的数据。类型可以是 string,array 或者是 stream 资源(如上面所说的那样)。
如果
参数
PHP 4, PHP 5, PHP 7
getcwd — 取得当前工作目录
string getcwd ( void )
取得当前工作目录。
在某些 Unix 的变种下,如果任何父目录没有设定可读或搜索模式,即使当前目录设定了,getcwd() 还是会返回
(PHP 4, PHP 5, PHP 7)
substr — 返回字符串的子串
说明
string substr ( string
返回字符串
参数
输入字符串。必须至少有一个字符。
如果
如果
如果
Example #1 使用负数
如果提供了正数的
如果提供了负数的
如果提供了值为 0,
如果没有提供
Example #2 使用负数
二、定义个自定义函数
PHP定义函数
如果要return就ruturn.忘记return返回值,也无所谓。如果函数有返回值,那必须返回。
三、PHP7特性:
PHP7允许在函数中增加返回值。比如string、int、array、object等
function 函数名(): string //注意冒号
{
}
四、课程代码:
第一课我们建立了GOD这个文件,这一课,我们建立GOD_FUNC文件,通过reuqire在god文件中引入函数文件god_func。
同时,我们为了学习PHP7新特性,专门建立god_func7这个文件,并在god文件中判断引入。
1、god
2、god_func
3、god_func7
1、file_put_contents
(PHP 5, PHP 7)
file_put_contents — 将一个字符串写入文件
说明
int file_put_contents ( string$filename, mixed
$data[, int
$flags= 0 [, resource
$context]] )
和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
If
filenamedoes not exist, the file is created. Otherwise, the existing file is overwritten, unless the
FILE_APPENDflag is set.
参数
filename
要被写入数据的文件名。
data
要写入的数据。类型可以是 string,array 或者是 stream 资源(如上面所说的那样)。
如果
data指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。
参数
data可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join('', $array))。
flags
flags的值可以是 以下 flag 使用 OR (|) 运算符进行的组合。
例如(源于PHP.net)
<?php
$file = 'people.txt';
// Open the file to get existing content $current = file_get_contents($file); // Append a new person to the file $current .= "John Smith\n"; // Write the contents back to the file
file_put_contents($file, $current);
?>
2、getcwd() //获取当前工作目录
PHP 4, PHP 5, PHP 7
getcwd — 取得当前工作目录
说明
string getcwd ( void )
取得当前工作目录。
返回值
成功则返回当前工作目录,失败返回FALSE。
在某些 Unix 的变种下,如果任何父目录没有设定可读或搜索模式,即使当前目录设定了,getcwd() 还是会返回
FALSE。有关模式与权限的更多信息见 chmod()。
1 例如:在ubuntu终端 tiger@xz1024:~$ php -r "echo getcwd();" /home/tigertiger@xz1024:~$
3、substr()
(PHP 4, PHP 5, PHP 7)
substr — 返回字符串的子串
说明
string substr ( string $string, int
$start[, int
$length] )
返回字符串
string由
start和
length参数指定的子字符串。
参数
string
输入字符串。必须至少有一个字符。
start
如果
start是非负数,返回的字符串将从
string的
start位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
如果
start是负数,返回的字符串将从
string结尾处向前数第
start个字符开始。
如果
string的长度小于
start,将返回
FALSE。
Example #1 使用负数
start
<?php $rest = substr("abcdef", -1); // 返回 "f"
$rest = substr("abcdef", -2); // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d" ?>
length
如果提供了正数的
length,返回的字符串将从
start处开始最多包括
length个字符(取决于
string的长度)。
如果提供了负数的
length,那么
string末尾处的许多字符将会被漏掉(若
start是负数则从字符串尾部算起)。如果
start不在这段文本中,那么将返回一个空字符串。
如果提供了值为 0,
FALSE或
NULL的
length,那么将返回一个空字符串。
如果没有提供
length,返回的子字符串将从
start位置开始直到字符串结尾。
Example #2 使用负数
length
<?php $rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de" ?>
二、定义个自定义函数
PHP定义函数
function 函数名(参数1,参数2,参数n) //必须有关键字funciton { 函数体; }
如果要return就ruturn.忘记return返回值,也无所谓。如果函数有返回值,那必须返回。
三、PHP7特性:
PHP7允许在函数中增加返回值。比如string、int、array、object等
function 函数名(): string //注意冒号
{
}
四、课程代码:
第一课我们建立了GOD这个文件,这一课,我们建立GOD_FUNC文件,通过reuqire在god文件中引入函数文件god_func。
同时,我们为了学习PHP7新特性,专门建立god_func7这个文件,并在god文件中判断引入。
1、god
#!/usr/local/php/bin/php <?php require('god_fun'.substr(PHP_VERSION,0,1)); //判断PHP版本后引入不同的god_func $result =''; if($argc >=2 ) { '-v'==$argv[1] && $result = 'god version is 1.0 '; 'init' == $argv[1] && $result = genConfig(); } echo $result; echo PHP_EOL; ?>
2、god_func
<?php function genConfig() { return file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'.PHP_EOL.'god config is created'; } ?>
3、god_func7
<?php function genConfig():string { return file_put_contents(getcwd().'/god.json','{}').' of bytes is written.'.PHP_EOL.'god config is created'; } ?>
相关文章推荐
- Phpstrom10不用自带服务器配置apach服务器
- PHP运行方式对比
- PHP请求Socket接口测试实例
- PHP上传图片类显示缩略图功能
- Yii2 ActiveRecord多表关联及多表关联搜索的实现
- Yii2中使用join、joinwith多表关联查询
- windows server 2008/2012安装php iis7 mysql环境搭建教程
- PHP之图片上传类实例代码(加了缩略图)
- PHP环境搭建的详细步骤
- Windows2003下php5.4安装配置教程(IIS)
- thinkphp3.2.3 自定义标签图文教程,Taglib放置项目路径
- PHP字符串操作相关
- magento dhpay订单重新支付问题
- PHP MySQL递归查询
- imagecreatefromjpegAllowed memory size of 13421772
- 编写php扩展(一)构建扩展的初步流程
- PHP性能分析
- php 中的heredoc与nowdoc的区别
- ThinkPHP 3 的CURD管理用户信息 修改和删除
- ThinkPHP 3 的CURD管理用户信息 修改和删除