正则表达式

1.替换

$s = "hello5world";
$s = preg_replace("/\d/","#",$s);
echo $s;
//输出结果为hello#world,数字被替换成了#。
//第一个数字是被替换的内容,"/\d/"表示正则表达式的数字。
//第二个参数是要用什么来替换。
//第三个参数是要操作的数组。

2.拆分

//$s = "hello5world";//$attr = preg_split("/\d/",$s); //按照正则表达式拆分 //var_dump($arr); //第一个参数是按照什么拆分,第二个参数是拆分哪个字符串。

3.匹配

//$s = "he8llo5wor6ld";
//$arr = array();
//preg_match("/\d/",$s,$arr); //匹配满足正则的第一个字符串,在这匹配出的是8(8)是字符串中的第一个数字。
//preg_match_all("/\d/",$s,$arr); //匹配所有满足正则的字符串,匹配出的是所有的数字(8、5、6)。
//第一个参数是按照什么匹配
//第二个参数是匹配的数组
//第三个参数是另一个数组,也可以是空的数组,匹配完以后的数组放在此数组中。

数组

1.遍历数组

(1)for循环遍历,只能遍历索引数组

//$attr = array("aa","bb","cc","dd");

/*for($i = 0;$i<count($attr);$i++)

{   echo $attr[$i]."<br>"; } */

(2)foreach遍历,关联和索引都可以遍历.

//$attr = array("aa","bb","cc","dd");
/*foreach($attr as $v)
{
  echo $v."<br>";
}*/
//只能遍历出值 /*foreach($attr as $k=>$v)
{
  echo $k."--".$v."<br>";
}*/
//可以遍历出key和value $attr = array(1,2,3,4,5);
foreach($attr as $k=>$v)
{
  if($v == 3)
  {
    unset($attr[$k]);//删除一个元素或者删除一个变量,不能直接unset($v),因为遍历时是把数组里面的数字3复制给$v的,删除的是复制的,而不是数组里面的。
  }
}
$attr = array_values($attr);//重新索引,删除数组元素里面的3以后,索引值变为0,1,3,4.重新索引后变为0,1,2,3。
var_dump($attr);
//在其它语言中,使用foreach遍历数组里面的元素时,不能在foreach里面删除或者添加元素。只有php里面可以。

预定义数组

1.$GLOBALS引用全局作用域中的全局变量

var_dump$GLOBALS()//$GLOBALS是一个数组,是系统自定义的,无法修改的,必须大写。代表全局变量的数组。

2.$_SERVER是服务器的信息

3.$_ENV代表环境变量

4.$_GET代表的是用户用_GET方式传递的数据

5.$_POST代表的是用户用post方式传递的数据

method的方式和获取的方式要对应。var_dump($_POST)

6.$_FILES;是关于表单提交文件的。

<form action="text.php" method="post" enctype="multipart/form-date">//提交文件时需要写上enctype属性,提交方式要用post

7.$_SESSION

  会话控制,保存用户登录信息的机制。如果登录上一个页面以后一定的时间没有操作,刷新页面后会要求重新登录,这就是_SESSION的效果。它有一个固定的时间,过后登录信息会清除。_SESSION存储登录信息存储在服务器上。_SESSION的安全性会更好。

8.$_COOKIE

  会话控制,保存用户登录信息的机制。如果登录上一个页面以后一定的时间没有操作,刷新页面后不需要重新登录,这就是_COOKIE的效果。_COOKIE存储登录信息存储在硬盘上。_COOKIE的安全性不如_SESSION。

其它常用函数

1.in_array( , );判断某一个值是不是在这个数组里面存在,括号里面有两个参数,第一个参数是是否存在的值,第二个参数是检查的数组。

2.array_reverse();翻转函数,括号里面写要翻转的数组。

3.array_unique();删除重复值,去重。

4.unset($attr[0]);删除数组里的某个值。

5.array_values();重新索引。一般和删除一起使用。

6.array_merge();合并数组,括号里面填写n个要合并的数组。

7.array_push();往数组里面添加一个值,添加位置在末尾。

数组例子

1.取数组里面的内容做下拉列表
方法一:(嵌入PHP代码)
$attr = array(//定义一个数组,用二维数组。
array("n001","汉族"),
array("n002","回族"),
array("n003","满族"),
array("n004","维吾尔族")
);
<select>
<option>所有</option>
<?php /*foreach($attr as $v)
{
  echo "<option>{$v[1]}</option>";
}*/
?>
</select> 方法二:(不需要嵌入PHP代码)
$attr = array(//定义一个数组,用二维数组。
array("n001","汉族"),
array("n002","回族"),
array("n003","满族"),
array("n004","维吾尔族")
);
echo "<select>";
echo "<option>所有的</option>"; foreach($attr as $v)
{
  echo "<option>{$v[1]}</option>";
} echo "</select>";

2.二维数组遍历到表格

$attr = array(
array("code","name","民族","年龄"),
array("001","张三","汉族","23"),
array("002","李四","回族","34"),
array("003","王五","维吾尔族","53"),
array("004","宋六","壮族","26")
);
echo "<table border='1px'>";
for($i=0;$i<count($attr);$i++)
{
echo "<tr>";
for($j=0;$j<count($attr[$i]);$j++)
{
echo "<td>".$attr[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";

PHP数组——数组正则表达式、数组、预定义数组的更多相关文章

  1. PHP数组(数组正则表达式、数组、预定义数组)

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  2. php学习笔记 [预定义数组(超全局数组)]

    <?php  预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直 ...

  3. PHP-自定义数组-预定义数组-自定义函数-预定义函数

    (1)自定义数组 —— 项目中的重点 (2)PHP预定义数组 —— 重点&难点 (3)自定义函数 —— 了解 (4)PHP预定义函数 —— 项目中的重点 1.自定义数组 数组:array,一个 ...

  4. php的预定义数组

    PHP预定义变量数组 1.$_SERVER 变量由Web服务器设定或者直接与当前的脚本的执行环境相关联 $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境 ...

  5. php 指针遍历、预定义数组和常用函数

    <?php /*//定义 $attr = array(1,2,3); $attr[] = 1; $attr = array("one"=>"hello&quo ...

  6. PHP基础-PHP中预定义的超全局数组

    预定义数组: 自动全局变量---超全局数组 1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据 2. 这些数组比较特别 3. 全局范围内自动生效,都可以直接使用这些数组 4. 用户不能自定 ...

  7. ES5基础之正则表达式02:范围类、预定义类和边界字符

    1.范围类 //元字符 /* * 正则表达式由两种基本字符类型组成 * 1.原义文本字符:例如123abc * 2.元字符:元字符是在正则表达式中有特殊含义的非字母字符 */ //常见特殊符号:. * ...

  8. JS正则表达式从入门到入土(4)—— 预定义类与边界

    预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\ ...

  9. 6)PHP,预定义变量

    预定义变量也叫超全局变量: :预定义变量又叫超全局变量,包括: $_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION, . ...

随机推荐

  1. Autofs自动挂载探讨

    Autofs介绍: mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载.对于本地固定设 备,如硬盘可以使用mount挂载:而光盘.软盘.NFS.SMB等文件系统具有动态性, ...

  2. iframe 自适应

    <iframe src="http://www.fulibac.com" id="myiframe" scrolling="no" o ...

  3. 必须掌握的MySQL优化指南

    当 MySQL 单表记录数过大时,增删改查性能都会急剧下降,本文会提供一些优化参考,大家可以参考以下步骤来优化. 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部 ...

  4. SpringCloud(3)服务消费者(Feign)

    上一篇文章,讲述了如何通过 RestTemplate+Ribbon 去消费服务,这篇文章主要讲述如何通过Feign去消费服务. 1.Feign简介 Feign是一个声明式的伪Http客户端,它使得写H ...

  5. Asp.Net Core使用NLog+Mysql的几个小问题

    项目中使用NLog记录日志,很好用,之前一直放在文本文件中,准备放到db中,方便查询. 项目使用了Mysql,所以日志也放到Mysql上,安装NLog不用说,接着你需要安装Mysql.Data安装包: ...

  6. hMailServer配置图文详细教程

    https://www.hmailserver.org/viewtopic.php?f=4&t=6

  7. vue报错如log,如果其他项目运行没问题,很有可能是代码错误 加externals报错

  8. 一招明白URL和URI的区别

    URL和URI的区别(示例): URL[统一资源定位器]: http://localhost:8080/api/account/queryAccountInfo URI[统一资源定位符]: /api/ ...

  9. linux rzsz(lrzsz)安装

    lrzsz 官网入口:https://ohse.de/uwe/software/lrzsz.html lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与 ...

  10. AngularJS 1.x系列:Node.js安装及npm常用命令(1)

    1. Node.js安装 1.1 Node.js下载 Node.js官网:https://nodejs.org 当前下载版本(含npm):Latest LTS Version: v6.10.3 (in ...