1.preg_match()

这是一个正则表达式匹配的函数,其用法如下:


查找文本字符串"php":
<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
echo "查找到匹配的字符串 php。";
} else {
echo "未发现匹配的字符串 php。";
}
?> 执行结果如下所示: 查找到匹配的字符串 php。

preg_match("//"),这是基本格式//之间是要匹配的表达式规则。


查找单词"web"
<?php
/* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配
* 单词的部分内容比如"webbing" 或 "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
} if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
}
?> 执行结果如下所示: 查找到匹配的字符串。
未发现匹配的字符串。

\b表示边界。

下面是常用的匹配符号:

1.表达式直接写出来的字符串直接利用,如key

2.“.”代表任意字符

3.“*”代表一个或一序列字符重复出现的次数,即前一个字符重复任意次

4.“\/”代表“/”

5.[a-z]代表a-z中的任意一个字符

6.[[:punct:]]代表任意一个字符,包括各种符号

7./i代表大小写不敏感

8.{4-7}代表[0-9]中数字连续出现的次数是4-7次

例题:bugku字符?正则(第27个)

2.explode() 函数

把字符串打散为数组。

例:

<?php
$str = "Hello world. I love Shanghai!";
print_r (explode(" ",$str));
?>

结果:Array ( [0] => Hello [1] => world. [2] => I [3] => love [4] => Shanghai! )

3.scandir() 函数

直接上例子

实例

列出 images 目录中的文件和目录:

<?php
$dir = "/images/";
// 以升序排序 - 默认
$a =scandir($dir);
// 以降序排序
$b =scandir($dir,1);
print_r($a);
print_r($b);
?>

结果:

Array
(
[0] => .
[1] => ..
[2] => cat.gif
[3] => dog.gif
[4] => horse.gif
[5] => myimages
)
Array
(
[0] => myimages
[1] => horse.gif
[2] => dog.gif
[3] => cat.gif
[4] => ..
[5] => .
)

定义和用法(注意返回值)

scandir() 函数返回指定目录中的文件和目录的数组。

语法

scandir(directory,sorting_order,context);
参数 描述
directory 必需。规定要扫描的目录。
sorting_order

可选。规定排列顺序。默认是 0,表示按字母升序排列。

如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。

如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。

context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

技术细节

返回值:

若成功则返回文件和目录的数组。失败则返回 FALSE。

如果 directory 不是目录,则抛出 E_WARNING 级别的错误。

PHP 版本: 5.0+
PHP 更新日志: PHP 5.4:新增 sorting_order 常量。

注:扫描的目录也可用

1、./是当前目录

2、../是父级目录

3、/是根目录

3.输出函数

常见的输出语句

echo()

可以一次输出多个字符串,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。用法 echo  或者  echo()

print()

print()输出一个字符串。print() 实际上不是一个函数(它是一个语言结构)所以不能被可变函数调用,因此你可以不必使用圆括号来括起它的参数列表。(不能输出数组)  用法print   或者print()

print_r()

可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。

var_dump()

判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

 1 <?php
2 //演示PHP中输出语句
3 //创建一个数组变量
4 $test='Hello';
5 $array = array("1"=>"a","2"=>"b",array('c','d','e'));
6
7 echo "</br>使用echo()输出:".$test.$array."</br>";
8
9 echo "</br>使用print()输出</br>";
10 print $test.$array;
11
12 echo "</br>使用print_r()输出</br>";
13 print_r($test.$array);
14
15 echo "</br>使用var_dump()输出</br>";
16 var_dump($test.$array);
17
18 ?>

输出结果为:

使用echo()输出:HelloArray

使用print()输出

HelloArray

使用print_r()输出

HelloArray

使用var_dump()输出

string(10) "HelloArray"

4.assert()函数

assert()为断言函数,用来判断一个表达式是否成立。返回true or false;

例如<?php

$s = 123;

assert("is_int($s)");

?>

从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。

assert的用法却更详细一点。

assert_option()可以用来对assert()进行一些约束和控制;

默认值

ASSERT_ACTIVE=1 //Assert函数的开关

ASSERT_WARNING =1 //当表达式为false时,是否要输出警告性的错误提示,issue a PHP warning for each failed assertion

ASSERT_BAIL= 0 //是否要中止运行;terminate execution on failed assertions

ASSERT_QUIET_EVAL= 0 //是否关闭错误提示,在执行表达式时;disable error_reporting during assertion expression evaluation

ASSERT_CALLBACK= (NULL) // 是否启动回调函数 user function to call on failed assertions

5.trim() 函数

用来移除字符串两侧的字符,一般用法:

<?php
$str = "Hello World!";
echo $str . "<br>";
echo trim($str,"Hed!");
?>
移除"Hello" 中的 "He" 以及 "World" 中的 "d!" trim($str):移除字符串两侧的空格 ltrim() - 移除字符串左侧的空白字符或其他预定义字符
rtrim() - 移除字符串右侧的空白字符或其他预定义字符

preg_match()//explode()// 输出函数//assert()//trim()的更多相关文章

  1. 用Lua实现string的trim()方法

    function trim1(s) return (s:gsub("^%s*(.-)%s*$", "%1")) end -- from PiL2 20.4 fu ...

  2. (实例篇)PHP实现HTTP断点续传的方法

    PHP实现HTTP断点续传的方法. <?php /** * PHP-HTTP断点续传实现 * @param string $path: 文件所在路径 * @param string $file: ...

  3. 33个超级有用必须要收藏的PHP代码样例

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...

  4. laravel 实现上传 excel

    //导入电话号码 public function postTel(){ set_time_limit(0); ini_set('memory_limit','1024M'); $params = In ...

  5. 46 个非常有用的 PHP 代码片段

    在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目. 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧- ...

  6. 非常实用的PHP代码片段推荐

    当使用PHP进行开发的时候,如果你自己收 藏 了一些非常有用的方法或者代码片段,那么将会给你的开发工作带来极大的便利.今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 1.  使用te ...

  7. 直接拿来用 九个超实用的PHP代码片段(二)

    每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当PHP开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重要性.为了节约编码时间,笔者收集了一些较为实用的代码片段,帮助开发者提高工 ...

  8. CodeIgniter网站静态化管理系统

    CodeIgniter本身带了一套静态化系统 使用方法如下: $this->output->cache( 3 );//每三分钟重新生成一次静态页面 不过这个在系统化的编辑中不方便管理 由此 ...

  9. 新写PHP HTTP断点续传类文件代码

    一个支持断点续传的PHP文件下载类文件,调用方法简单,类代码简洁,可记忆上次的下载的节点,实现累积下载,类名称download,类代码如下: function download($path,$file ...

随机推荐

  1. 如何让你的学术Essay写作看起来更高级?

    学术风格不仅是使用某些特定的词汇或者特定的表达方式.学术风格还会涉及到你的思考方式.推理方式以及你如何利用某个领域内已知的发现.学术风格是英国大学学习的核心.所以在平时的学习中,英国环球论文小编建议大 ...

  2. Angular2的双向数据绑定

    什么是双向绑定 如图:   双向绑定.jpg 双向绑定机制维护了页面(View)与数据(Data)的一致性.如今,MVVM已经是前段流行框架必不可少的一部分. Angular2中的双向绑定 双向绑定, ...

  3. Java 用户输入

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...

  4. Spring加载Properties配置文件的三种方式

    一.通过 context:property-placeholder 标签实现配置文件加载 1) 用法: 1.在spring.xml配置文件中添加标签 <context:property-plac ...

  5. JuJu团队12月3号工作汇报

    JuJu团队12月3号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达 修改batch里给sentence加padding的方法 继续调试 无 婷婷 给crossentro ...

  6. JavaScript动态实现div窗口弹出&消失功能

    先积累一个JavaScript动态实现div窗口弹出&消失功能 首先是index.jsp代码 <html> <head> <link rel="styl ...

  7. 《ES6标准入门》(阮一峰)--6.正则的扩展

    1.RegExp 构造函数 在 ES5 中,RegExp构造函数的参数有两种情况. 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag). var regex = new Re ...

  8. 一百零九、SAP的OO-ALV之三,屏幕绘制器的使用

    一.在Screen页面,点击格式,会打开屏幕绘制器 二.点击定制控制,和PS一样画出一个显示区域的画布容器 三.双击之后,在弹出的属性页面写入一个名字,保存 四.激活屏幕后关闭 五.关闭屏幕绘制器之后 ...

  9. Spark 资源调度 与 任务调度

    Spark 资源调度与任务调度的流程(Standalone): 启动集群后, Worker 节点会向 Master 节点汇报资源情况, Master掌握了集群资源状况. 当 Spark 提交一个 Ap ...

  10. 实验吧-杂项-MD5之守株待兔(时间戳&python时间戳函数time.time())

    其实也有点蒙圈,因为从没做过和时间戳有关的题. 打开网站,将系统密钥解密得到一串值,而自己的密钥解密是空的,既然说是要和系统匹配,就把解密得到的值以get方式送出去. 但是发现还是在自己的密钥也发生了 ...