10.23上午 PHP数组(数组正则表达式、数组、预定义数组)

正则表达式

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.数组定义

//$attr = array();//定义一个空的数组
//$attr = array(1,2,3,4);//定义一个有值的数组

2.赋值定义

/*$attr[0]="aa";
$attr[1]="bb";
echo $attr[1];
*/

3.数组分类

(1)索引数组

/*$attr = array(1,2,3,4,5);
print_r($attr);

(2)关联数组

//$attr = array("code"=>101,"name"=>"张三","sex"=>"男");//code=>101表示赋值.code可以成为key,101为name。
//print_r($attr);
//echo $attr["name"];

4.遍历数组

(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

(3)使用each()和list()结合遍历

//var_dump(each($attr));//取数组里面当前指针指向的元素.

//list($a,$b,$c,$d)=$attr;//写在等号左边的将数组里面的元素交给一组变量,数组必须是索引数组。
//echo $c;

/*list($k,$v) = each($attr);
echo $k;
echo $v;*/

/*while(list($k,$v) = each($attr));
{
    echo "{$k}--{$v}<br>";
}*/

(4)使用指针遍历

//var_dump(current($attr));//取当前指针指向的元素的值
//key($attr);//取当前指针指向的元素的key
//next($attr);//将指针向后调一个
//prev($attr);//将指针向前调一个
//end($attr);//将指针向指向最后
//reset($attr);//将指针重置

/*var_dump(next($attr));
var_dump(next($attr));
var_dump(next($attr));
var_dump(next($attr));*/

/*while(next($attr))
{
    echo current($attr);
    echo key($attr);
}*/

/*do
{
    echo current($attr);
    echo key($attr);
}
while(next($attr))
*/

预定义数组

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

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

2.$_SERVER是服务器的信息

3.$_ENV代表环境变量

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

<body>
    <form action="test.php" method="get">
       <input type="text" name="uid" />
       <input type="text" name="pwd" />
     <input type="submit" value="提交" />
    </form>
</body>//输入数据提交以后会显示提交的数据。var_dump($_get)可以获取提交的数据。

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

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

6.$_REQUEST也可以获取用户传递的数据。

$_REQUEST可以取GET方式传递的数据,也可以取POST方式传递的数据。但是一般不要用$_REQUEST,相对的不安全。

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

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

8.$_SESSION

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

9.$_COOKIE

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

数组例子

//取数组里面的内容做下拉列表方法1:
$attr = array(//定义一个数组,用二维数组。
    array("n001","汉族"),
    array("n002","回族"),
    array("n003","满族"),
    array("n004","维吾尔族")
);
<select>
<option>所有</option>
<?php

/*foreach($attr as $v)
{
echo "<option>{$v[1]}</option>";
}*/
?>
</select>

方法2:

$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>";
时间: 2024-10-17 01:01:31

10.23上午 PHP数组(数组正则表达式、数组、预定义数组)的相关文章

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

<?php  预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由GET ,

(3.20) (转)预定义数组

<?php /* 预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由GET

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

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

预定义数组(超全局数组)]

* 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由GET , POST和COOKIE机制提

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

<?php /*//定义 $attr = array(1,2,3); $attr[] = 1; $attr = array("one"=>"hello"); //数组取值 $attr[0]; $attr["one"] //数组遍历 for() foreach() each() list()*/ //4.指针遍历 /*$attr = array( "one"=>"aaaa", "t

php基础---预定义数组

//全局变量/*$a=10;function show(){ $a=1; global $a;//定义$a为全局变量 echo $a; }show();var_dump($_SERVER);*/ //针对表单1.$_POST //提交的post值 $_GET //提交get 值 $_REQUEST //提交的get或post值var_dump($_REQUEST); var_dump($_POST) var_dump($_POST)  注意必须是大写 <form action="1.php

PHP可变变量,预定义变量,综述,$_GET数组

可变变量 所谓可变变量,就是一个变量的名,又是一个变量. 可变变量的语法是php很特殊的语法--其它语言中少见. $v1 = "abc";    //这是一个字符串变量,其内容是字符串"abc" $abc = 10;      //这是一个普通变量,其内容是数字10 echo $$v1;      //此时,就是所谓的"可变变量" 怎么理解可变变量 1,凡是$符号出现,就会有可能理解为是一个变量 2,这里第一个"$"出现了,则

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

预定义数组: 自动全局变量---超全局数组 1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据 2. 这些数组比较特别 3. 全局范围内自动生效,都可以直接使用这些数组 4. 用户不能自定义这些数组, 但这些数据操作方式又和我们自定义的数组操作方式一样 5. 在函数中直接可以使用这些数组 $_GET //经由URL请求提交至脚本的变量,表单默认提交方式和链接提交方式 $_POST //经由HTTP POST 方法提交到脚本的变量 $_REQUEST //经由GET, POST和COO

PHP学习笔记--预定义超全局数组

预定义数组: * 自动全局变量---超全局数组 * * 1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2. 这些数组比较特别 * 3. 全局范围内自动生效,都可以直接使用这些数组 * 4. 用户不能自定义这些数组, 但这些数据操作方式又和我们自定义的数组操作方式一样 * 5. 在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由GET, PO