但有时候parse
分类:威尼斯手机平台

用法:void parse_str ( string $str [, array $arr] )

各位观众老爷大家好,欢迎收看内裤总动员之程序猿的IT程序大讲堂,今天给大家分享一个小知识点就是前台和后台交互的那点事PHP

parse_str用来解析URL中的查询字符串,所谓查询字符串是指一个URL中?后面的部分,如,则查询字符串就是name=anveage=21。


当然在PHP里,你可以用$_GET数组来取得查询字符串的值,但有时候parse_str会方便些,特别是当查询字符串中的变量名不知道的时候。

在PHP中有两个名词解释. 也算是说明我们当前APP客户端和 网页的区别把.

index.html:

***BS  无需下载的浏览

htmlbodyformaction=result.phpmethod=getname:inputtype=textname=nameage:inputtype=textname=ageinputtype=submit/form/body/html


result.php:

CS  需下载的浏览

htmlbody?php$string=$_SERVER[''QUERY_STRING''];//用$_SERVER[''QUERY_STRING'']取得查询字符串。echo''$string:''.$string.''br'';parse_str($string);echo''$name:''.$name.''br'';echo''$age:''.$age.''br'';//经过parse_str后,生成了$name和$age两个变量,并被正确赋值。parse_str($string,$arr);//第二个参数$arr是一个用来保存结果的数组,这样就不会像刚才那样产生多个变量了。echo''pre'';print_r($arr);//$arr[''name'']和$arr[''age'']被正确赋值。echo''/pre'';?/body/html


另注:parse_str会自动进行urldecode。例如在index.html的name中输入波波,我的测试结果是:

环境的搭建

在网络上需要下载一个XAMPP软件.进行安装. 个人使用的是XAMPP for mac 版本的.  

先说一下我们使用PHP都需要了哪些东西.

MYSQL   Apache(中间件)    PHP   这三个,   而我为何推荐大家安装XAMPP呢,是因为 他已经把我们这三个东西都已经全部包装了. 只需安装下一步即可. 如果单个安装的话对于我们非常复杂.所以推荐大家直接安装XAMPP即可.

好啦,关于XAMPP的安装方法大家可以去搜索一下.比较简单.直接下一步下一步即可.


PHP标签声明方式

<?PHP

echo "<h1>hello word</h1>";
?>

图片 1

hello word

在PHP里, 表声明以 <?PHP为开头, 以 ?>为结尾. echo 为打印/输出的意思.

而且我们的声明文件也都是以 ****.PHP为结尾的文件.


PHP注释

<?PHP

//单行注释

#这也是单行注释

/*

多行注释,他横跨很多行

*/

?>


变量

变量是以$开头,后面跟变量名.

以字母.数字.下划线组成,不能以数字开头.

区分大小写.

栗子:

$name = "neiku";

$age = 26;

$num = 15+"12";   //  $num = 27;

在PHP里, 加号就是相加的,他不分后面的数字是否是字符串类型. 但是如果是 15+ "ab12" 的话,那他的值为 15,他会略过 ab12的. 但是有   15+ "12ab"的话  他的值 还是27.


变量赋值

赋值有两种:  直接赋值, 引用赋值.

栗子:

$sum = "hello";

$sum2 = &$sum; //在这里添加的&后, $sum会把他的内存地址赋值给$sum2. 如果$sum2在重新赋值的话,$sum的值也会变化.这个有点像C语言里的指针.


变量的变量

栗子:

$sum = "hello";

$$sum = "word";

echo $sum; // 输出hello;

echo ${$sum}; //输出word;

echo $hello; // 输出 word;

在这里,变量前面还可以加上$ 在赋值一个新的值.  他会生成一个新的值. 这个确实有点怪怪的. 至于用处嘛........说是有大用.    这个在 我们的forin 里面 他在遍历的时候 可以用到. 


超全局变量

PHP提供了很多有用的预定义的变量.用于提供大量与环境有关的信息.

打印/输出全局变量:print_r($_SERVER);   在这里 解释一下print_r他打印的是数组. 数组专用打印用的.而我们的这些预定义变量都是属于数组类型.所以他需要用print_r来打印.

print_r($_SERVER);

他会打印出你当前环境的所有相关信息.

图片 2

所有信息

而在这里我会单独的列举一些我们常用的一些方法.

print_r($_SERVER['SERVER_NAME']);

他会返回你当前运行脚本所在的服务器的主机名.

图片 3

当前服务器脚本的主机名.

如果你把127.0.0.1 更改为 localhost  他的主机名也会更改为localhost   或者前面你放上你当前电脑的IP ,他就会变为IP.

print_r($_SERVER['REMOTE_ADDR']);

客户端IP地址.

图片 4

IP地址

但是注意,在这里他获取的只是当前的IP地址,但是他不能识别localhost.

print_r($_SERVER['REQUEST_URI']):

获取当前的文件路径.

图片 5

当前文件路径

print_r($_SERVER['HTTP_USER_AGENT']);

获取当前操作系统和浏览器的相关信息.

图片 6

我的系统,我的浏览器,我的中间件


$_get

该变量包含使用get方法传递的参数的有关信息. 

<form action = "index.php"  method = "get">

<input type="text" name="name"/>

<input type="password" name="pwd"/>

</form>

然后在index.php文件中书写PHP代码.

<?PHP

 $name = $_GET['name'];

$pwd = $_GET['pwd'];

echo $name;

echo "<br/>";

echo $pwd;

?>

在页面输入信息

321       321

图片 7

321 321

提交后,显示页面

图片 8

321 321

但是请注意,get方法他会把你的输入信息在网址上显示.

图片 9

显示出你的输入信息

所以接下来给大家介绍一下post.


post

该变量包含使用post方法传递的参数的有关信息.

html代码如上,我就不写了. 郁闷,不让复制咱帖.  唯一不同的地方就是method="post" 他的请求方式改为post

PHP代码同上.一样.

在页面输入信息

321       321

图片 10

321 321

提交后,显示页面

图片 11

321 321

而这回,页面将不会有你的输入信息.


$_REQUEST

该变量记录着通过各种输入方法传递给脚本的变量.如get,post,但不要使用这个超级变量,因为它不安全而且速度慢.

$_COOKIE

cookie变量数组

$_SESSION变量数组

会话变量数组

$_FILE

与上传文件有关的变量数组

$_ENV

环境变量数组

$_GLOBALS

所有全局变量数组


常量

常量是指在程序执行中无法修改的值.如PI(3.14159236);

常量对大小写敏感,通常常量名总是大写.

常量是全局的,可以在脚本任何地方使用.

常量分为 内置常量自定义常量;

常量使用define()函数来定义.

栗子:

define('PI',3.1415926);

echo PI; //3.1415926 


内置常量

PHP_OS      PHP所在的操作系统的常量.

PHP_VERSION  当前PHP的版本号.


魔术常量

__LINE__    文件中的当前行号.

__FILE__     文件的完整路径和文件名;

__FUNCTION__     函数名称.

__CLASS__   类名称.

__METHOD__     类的方法名.


数据类型

字符串

字符串有三种定义方式:单引号, 双引号,定界符;

单引号字符串中出现的变量不会被变量的值替代.

双引号字符串中最重要的一点是其中的变量会被变量值替代.

如果遇到美元符号$,解析器会尽可能多的取得后面的字符以组成一个合法的变量名,如果想明确的指定名字的结束,用{} 括号把变量名括起来.

栗子:

$ sum = "hello";

echo = "welcome to china, i am ***, {sum}s";


字符串定界的方法使用定界符语法 <<<

栗子:

$str = <<< AAA

dasfdas fdsafdasfdsa

fdsafdsaf fdsasadf

AAA;

echo $str; //dasfdas fdsafdasfdsa fdsafdsaf fdsasadf

图片 12

str

图片 13

str

这里需要注意:

结束标示符所在的行不能包含任何其他字符,这意味着该标示符不能被缩进,在分号之前,之后都不能有和任何空格或者制表符.


字符串转意

n    换行              r     回车           t        水皮制表符(Tab建);

\     (反斜杠)        $    $(美元符)     "    "   (双引号)


整形

$age = 25;     

浮点型

$age = 5.29;

布尔型

$bu = TRUE;

$bu = FALSE;


复合数据类型

数组

$week = array('星期一','星期二','星期三');

对象

$db = new db;


特殊数据类型

资源

$fh = fopen("text.txt","r");   打开某文件或者路径. 如果失败,则返回false.

null

null无,表示没有值,null不表示空格,也不标示0, 以下情况则认为是null;

没有设置任何预定义的变量.

明确的赋值null;

使用函数unset()清除.


自动类型转换

因为PHP对于类型定义非常的松散.所以有时候会根据引用变量的环境.将变量自动转换为最适合的类型.

栗子:

$num  = 5;

$str = "15";

echo $num + $str;   //20;

$str = "100 hello";

$num = 200;

echo $str + $num;    //300

$str='1.2';

if($str){  //判断$str为true或者false

echo "hello word";

}    //  hello word;


类型相关函数

gettype()返回变量的类型.共有8个类型.

string  字符串

integer  整形

float  浮点型

boolean  布尔

array  数组

object  对象

null 空

unkonw  未知

栗子:

$sty = "hello";

echo gettype($sty);   //string


is_type();

查看变量是否属于某个类型,是返回1,否 则不返回.

栗子:

$arr = array(1);

echo  is_array($arr); //1;

$num = 5;

echo is_int($num); // 1;


var_dump();

获取变量的值和类型的详细信息.

栗子

$str = 'hello';

echo var_dump($str);//     string(5) "hello"

$arr = array('A','B','C');

echo dump($arr); //    array(3){[0] => string(1)"A" [1] => string(1)"B" [2] => string(1)"C"}


好啦,关于PHP的一些知识就简单的介绍到这,后续还会有陆续的更新. 感谢各位观众老爷的阅读.如有建议谢谢大家给与留言.

本文由威尼斯在线注册平台发布于威尼斯手机平台,转载请注明出处:但有时候parse

上一篇:php 表单验证类 下一篇:我们先来看看数据库结构.,上次要和你一家公合作他们说要我写一个简单的投票系统
猜你喜欢
热门排行
精彩图文