美文网首页
PHP基本语法加强

PHP基本语法加强

作者: DragonRat | 来源:发表于2018-12-05 16:12 被阅读0次
<h1>php基础语法</h1>
<p>1.1PHP标识符</p>
<?php echo '标准标识符'; ?><br>
<?='短标签风格'; ?><br>

<%='ASP风格';%><br>
<script language = "PHP">
echo 'script风格';
</script>
<br>

<p>1.2php分割指令 分号</p>

<p>1.3注释PHP代码</p>
<?php 
//单行注释
//单行注释
   /* 这是多行注释
      作者 :小刊
      目的: 多行注释演示
      主题: PHP
   */
?>

<p>1.4HTML和php的混合模式</p>
<?php $a = 1; ?>
<p><?=$a; ?></p>
<h1>php变量</h1>
<?php 
echo '2.1声明变量';
//变量名是数字(0-9),字母(a-z,A-Z),下划线组成的且不能以数字开头的定义方式
$a = 1;

echo '2.2可变变量';
//可以把某个变量的追当成另外一个变量的名来使用,这个时候的好处就是减少变量的定义
$$a = a;

echo '2.3变量的传值方式';
//值传递--把一个变量的值”复制“一份,然后再赋值给另外一个变量,这个时候的量变量是没有任何关系的;
$a = a;
$a = b;
//引用传递;
$a = 10;
$b = $a;

echo '2.4变量的范围';
//在PHP中变量分为三种访问的方式全局变量,局部变量,静态变量, 全局变量转局部,局部转全局
//正常情况下,变量是在运行完当前页面后进行销毁的(PHP自己的特性),如果不想销毁,可以使用静态的变量

echo '2.5变量常用的5个函数';
//Isset():判断变量是否存在
//Empty:判断变量是否为空
//Unset:删除或销毁变量
//Echo
//var_dump()
?>
<h1>预定义变量--超全局变量</h1>
<?php
//$GLOBALS是PHP内置的可以字段获取当前页面中所以的内容
//$_SERVER会自动获取服务器和客户端的信息
//$FILE 获取上传文件信息
//$_GET:url方式传递数据
//$_POST HTTP POST方式传递数据
//$_REQUEST http Request变量
//$_ENV 环境变量
//$_SESSION Session 变量
//$_COOKIE HTTP Cookies
?>
<h1>常量</h1>
<?php
echo '4.1常量的定义';
//const
//define(常量名,常量值)
echo '4.2访问常量';
//直接使用常量名
?>
<h1>数据类型</h1>
<?php 
//标量类型:int float string boolean
//复合类型:array object
//特殊类型:null resource
echo '5.1字符串类型就是把任何的数据加上引号(单引号和双引号)';
echo '5.2单引号不能解析变量';
echo '5.3转义字符 =="\"';
echo '5.4界定符';
echo '5.5常用函数';
//explode --使用一个字符串分割另外一个字符串
//Implode --将一个一维数组转化为字符串
//去除字符串的空格:Ltrim():去除字符串左边的空白字符  Rtrim():去除字符串右边的空白字符  Trim():去除字符串两边的空白字符
//字符串替换:substr_replace()
//子字符串的查找替换str_replace
//Substr:字符串截取
echo '数据类型转换';
//强转为整型 (int)(integer)
//布尔 (bool)(boolean)
//浮点 (float)(double)(real)
//字符串 (string)
//数组 (array)
//对象 (object)
//NULL (unset)
?>
<h1>运算符</h1>
<?php 
//算数运算符 + - * %
//赋值运算符(=)
//比较运算符 < <= > >= == != ===
//错误控制符 @
//执行运算符 ``
//递增递减运算符  ++ --
//逻辑运算符 逻辑或:||  逻辑与&&  逻辑非:!
//字符串链接符 通过(.)或(.=)进行字符串的拼接
//位运算符: 按位与& 按位或| 按位非~ 按位异或^ 按位左移<< 按位右移>>
//数组运算符 联合(+),等于(== =),不等于(!= !)
//运算符优先级 
?>
<h1>Apache的三种工作模式:</h1>
<?php 
//http://www.cnblogs.com/sddai/p/8446849.html
echo 'Prefork MPM实现了一个非线程的、预派生的web服务器<br>';
echo '和prefork模式相比,worker使用了多进程和多线程的混合模式<br>';
echo '这是Apache最新的工作模式,它和worker模式很像,不同的是在于它解决了keep-alive长连接的时候占用线程资源被浪费的问题,在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放';
?>

<h1>虚机主机的三种方式</h1>
<?php
//https://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html
echo 'VMware 桥接模式--也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(可以将它看成一个完全独立且真实的计算机)<br>';
echo 'VMware NAT模式--NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信<br>';
echo 'VMware 仅主机模式--是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络<br>';
?>

<h1>PHP的生命周期和如何跨脚本共享数据<h1>
<?php 
echo '1、PHP的运行模式:WEB模式、CLI模式,php运行原理:SAPI运行';
echo '启动apache,请求处理初始化,执行php代码,脚本结束,sapi关闭';
//       简要的过程如下:
// 1. PHP是随着Apache的启动而运行的;
// 2. PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口);
// 3. PHP总共有三个模块:内核、Zend引擎、以及扩展层;
// 4. PHP内核用来处理请求、文件流、错误处理等相关操作;
// 5. Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;
// 6. 扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要MySQL扩展来连接mysql数据库;
// 7. 当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;
// 8. 最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上
echo 'PHP的开始和结束阶段';
//开始阶段的过程:第一个过程:apache启动的过程,即在任何请求到达之前就发生 ; 第二个过程发生在请求阶段
//结束阶段的过程:第一个环节:请求处理完后结束阶段 最后,所有的请求都已处理完毕,SAPI也准备关闭了, PHP调用每个扩展的MSHUTDOWN方法,这是各个模块最后一次释放内存的机会
//SAPI运行PHP都经过下面几个阶段 模块初始化阶段(Module init) 请求初始化阶段(Request init) 执行PHP脚本  请求结束(Request Shutdown)  关闭模块(Module shutdown)

echo '跨脚本共享数据';
//$_SESSION
?>
<h1>PHP的引用传值和直接传值--&</h1>
<?php 
$testa = 1;               //定义变量a
$testb = 2;               //定义变量b
$testb = $testa;       //变量a赋值给变量b
echo $testb;            //显示为1
?>
<?php 
$param2 = 1;               //定义变量2
$param1 = &$param2;      //将变量2的引用传给变量1
echo $param2;            //显示为1
$param1 = 2;             //把2赋值给变量1
echo $param2;            //显示为2
?> 

<h1>对B/S架构如何理解和GET和POST提交区别</h1>
<?php 
echo '对B/S架构如何理解';
//CS = Client - Server =客户端-服务器
//C/S是双向的通讯,建立连接后会一直保持,任何一方都可以随时向对方发送信息。比如QQ客户端登录后,腾讯的服务器可以随时把新的消息发给客户端,客户端也可以随时向腾讯的服务器发送信息
//BS = Browser - Server =浏览器-服务器
//B/S是「查询」式的通讯,客户端向服务器查询一些信息,在服务器回应之后,(逻辑上)会立刻断开连接。只有客户端向服务器查询时,服务器才能向客户端发送信息,服务器不能主动地向客户端发送信息。

echo 'GET和POST提交区别';
// 1、传送方式:get通过地址栏传输,post通过报文传输。
// 2、传送长度:get参数有长度限制(受限于url长度),而post无限制
// 3、GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包
//建议
// 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
// 2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
//扩展
// GET在浏览器回退时是无害的,而POST会再次提交请求。
// GET产生的URL地址可以被Bookmark,而POST不可以。
// GET请求会被浏览器主动cache,而POST不会,除非手动设置。
// GET请求只能进行url编码,而POST支持多种编码方式。
// GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
// GET请求在URL中传送的参数是有长度限制的,而POST么有。
// 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
// GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
// GET参数通过URL传递,POST放在Request body中
?>
<h1>php函数</h1>
<?php 
echo '1.定义语法形式';
// function 函数名($形参1,$形参2, ...... ){ //形参,就是形式参数,是变量
//     函数体语句块; //就是若干行代码
//     }
echo '2.调用语法形式';
//函数名($实参1,$实参2, ...... )
echo '3.php执行原理';
//https://yq.aliyun.com/articles/312723
echo '4.函数的传值方式';
//默认为值传递,&为引用传递
echo '5.形参的默认值';
//形式为:$形参名 = 某值
echo '6.返回值';
//return
echo '7.可变函数';
//可变函数实际上就是在调用函数的时候,使用一个变量来表示函数名,并用该变量去调用函数
echo '8.匿名函数';
//$f1 = function (形参...) { ....... } ; //这是定义匿名函数的形式。
echo '9.递归函数';
//就是一个函数内部再调用该函数本身的一种情形,这是语法形式上的
function feib($n)
{
    if ($n == 1 || $n == 2) {
        return 1;
    } elseif ($n > 2) {
        $f = feib($n - 1) + feib($n - 2);

        return $f;
    }
}
echo feib(10); //结果:55
?>
<h1>require()、require_once()、include()和include_once()的区别</h1>
<?php
echo 'include与require的区别';
//require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行
echo 'include与include_once的区别';
//include_once (require_once)语句在脚本执行期间包含并运行指定文件。此行为和 include (require)语句类似,区别是如果该文件中的代码已经被包含了,则不会再次包含,只会包含一次。include_once(require_once)需要查询一遍已加载的文件列表, 确认是否存在, 然后再加载
?>
<h1>从内存分析PHP函数调用过程</h1>
<?php 
//https://blog.csdn.net/qq_31851107/article/details/51660857
//1.安装函数执行的规则,只要一看到函数,则php就会开辟一个新栈(空间)
//2.各个栈间的变量是相互独立的(尽管两个栈里的变量名可能相同,但是在内存中的地址不同)
?>
<h1>理解isset和empty的区别</h1>
<?php
//empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置
?>
<h1>函数值传递和引用传递的区别</h1>
<?php 
echo 'http://www.cnblogs.com/lovebing/p/6063849.html';
//在函数内部使用值传递,不会对原变量产生影响
//引用传递,是将变量的值,在内存中的地址,传递给另一个变量,即a和b都指向内存中的同一个地址;其中一个发生改变时,另一个变量的值,相印的也改变。 在函数体内部使用引用传递,将会影响函数外被引用的变量的值
//使用场景:当变量值很大的时候,使用值传递,会进行复制,占用内存,影响程序的执行效率,所以要使用引用传递,提高效率。
?>

相关文章

  • PHP基本语法加强

  • PHP从入门到精通,045第四章PHP——PHP基本语法(DAY

    三、PHP基本语法 1、PHP的标示符 语法:PHP不允许出现中文的文件名 2...

  • 2019-07-15

    初步了解PHP的基本语法。

  • PHP的语法

    PHP语法 PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。 基本的 PHP 语法 PHP 脚本...

  • PHP基本语法

    PHP是一种动态脚本语言,文件后缀名为 “.php”。通常情况下,在一个PHP文件中,如果想使用PHP语言,则使用...

  • php基本语法

    一、php基本介绍1、php可以和html代码混合,但一定要用标签包裹; 2、也...

  • PHP基本语法

    PHP课程介绍PHP环境搭建IDE的安装PHP基础语法PHP的工作原理 深入浅出PHP PHP课程介绍:什么是ph...

  • php 基本语法

    1.文件扩展名:.php 2.语法结构: 以结束。 3.php结束符为分号: 每个代码行结...

  • PHP基本语法

    本文是复习所写,并不会涵盖一些基础知识点 PHP标记 由于PHP与HTML可以混编,所以需要明确标识出PHP代码块...

  • PHP基础篇之字符串

    一. 基本语法 开始结束标记: "" Note...

网友评论

      本文标题:PHP基本语法加强

      本文链接:https://www.haomeiwen.com/subject/qerwcqtx.html