zendstudio 10.0破解版,新建完项目后,首先修改项目的编码方式,统一改成utf-8 (选中项目,再右键properties:Text file encoding)。修改字体大小。

apache 安装:httpd-2.2.17-win32,安装成功后访问apache服务器:http://127.0.0.1 localhost; apache配置文件:httpd.conf(在apache/conf/目录下) :ServerRoot:apache的安装目录,Listen 80:端口号,DocumentRoot:apache的默认主目录htdocs;Directory:浏览目录;(当需要修改apache的默认主目录的时候,需要修改 DocumentRoot 和 Directory 这两项。),DirectoryIndex :index.html 默认首页。

webServer工作原理:用户输入网址后,首先通过本地的DNS服务器将输入网址转换成目的ip地址后返回给浏览器;浏览器再根据这个ip地址请求相应的某个目录下的某个页面,通过http request发送请求,web服务器接到请求后,首先在默认主目录中搜索是否有请求的页面文件,如果没有找到,通过http response发送给浏览器一个没找到的响应(响应的是html标记,浏览器可以解析html标记)。如果找到了,首先apache查看请求文件的扩展名,apache只能处理html,css,javascript这样静态的文件,如果是这些静态文件apache直接将找到的结果通过http response 返回给浏览器。如果请求的是.php为后缀的文件,apache就处理不了,这是就将控制权移交给php引擎,php引擎具有处理,解析php代码的能力,它会将php代码解析的结果以html代码的形式返回给apache服务器,apache服务器接收到php引擎的响应后,再通过http响应给用户浏览器。

php版本:php-5.4.0-win32,解压完成后将php.ini.development文件重命名为php.ini(php的配置文件),这样php安装完成。绑定php和apache:第一步,加载php5模块,在apache配置文件中加入:LoadModule php5_module "php安装路径\php5apache2_2.dll" ,第二步,加载php配置文件所在目录,在apache配置文件中加入:PHPIniDir "php安装目录" ,第三步,告诉apache什么时候什么类型的文件需要交个php引擎来处理,在apache配置文件中加入:AddType application/x-httpd-php .php 把.php结尾的文件交给php引擎来处理。对apache配置文件做了更改后需要重启apache服务器。phpinfo(),测试一下。

==========第4个视频开始讲授 PHP基础语法:变量
PHP标准风格(推荐风格):<?php 代码段;?> PHP每句代码以分号 ; 结尾。 短风格(需要php配置文件中short_open_tag=On,再重启apache):<? 代码段; ?> 长风格<script language='php' 代码段; /script> ASP风格(需要php配置文件中asp_tag=On,再重启apache):<% 代码段; %>
PHP中的注释:单行://    #     多行:/* */

PHP文件扩张名:.php 。
PHP文档组成:在php文件中可以同时书写html、css、javascript/jquery、PHP代码(在脚本中的任意位置都可以写PHP代码,在脚本中不只有PHP代码的时候,<?php ?>标记一定要成对出现。当文档中只有PHP代码时,结束标记不要写。);emmet插件:html:xt + tab键,自动生成html文件基本模板。

PHP变量:在程序执行期间可以变化的量,用变量保存值。以 $ + 变量名称 声明变量,变量名称遵循驼峰标记法(小驼峰:首字母小写,以后没有个单词第一个字母大写;大驼峰:每一个单词的首字母都大写),或下划线法:每个单词之间用下划线分隔。php的变量名称严格区分大小写,$a和$A是不同的两个变量。当变量名称重复的时候,相当于对变量重新赋值,后面的会覆盖之前的值。php是弱类型语言,变量可以不声明直接使用。变量赋值:$变量名=值; $a=12; 使用变量名称$a,就可以使用变量。在浏览器中,查看变量的值:echo $a; 当PHP脚本中有头信息时,通过 header('content-type:text/html;character=utf-8'); 来发送头信息,这句代码告诉浏览器,以utf-8的编码方式解析html文档。修改PHP配置文件中的error_reporting=E_ALL&~E_NOTICE,之后重启服务器,可以屏蔽掉脚本在执行过程中报出的“注意”信息。一次声明多个变量并且赋值相同:$i=$j=$k=$m=$n=1;一次输出多个变量的值:echo $i,$j,$k; 多个变量之间以逗号分隔。

php可变变量(等量代换的原则)。php引用赋值:& 取地址符,把变量在内存中的地址覆给另一个变量。$j=&$i; $i和$j指向同一个内存空间,对$i和$j任何一个的修改,都将改变另一个变量的值。变量销毁:unset(变量名)函数,销毁变量相当于引用内存空间的变量名不存在了,但保存变量的内存空间依然存在。

==========第7个视频开始讲授 PHP基础语法:数据类型
php中支持8中主要数据类型和3中伪类型。8种主要数据类型分3大类:标量类型(只能存储单一数据,有分为类,整型int\interger(带符号:-21亿到21亿,无符号:0到42亿,超过整型的存储范围,会产生溢出的现象,可以存储八进制数、十进制数、十六进制数。在显示的时候都是将八进制和十六进制的数,转换成十进制的数在浏览器上显示。),浮点类型float\double\real(浮点类型带有小数点或者科学计数法的写法,带有e或者E ,他的存储范围比整型大。),布尔类型bool\boolean(真:TRUE\true,假:FALSE\false。),字符串类型string(字符串定界符:单引号,双引号(双引号和单引号的区别:双引号解析变量,单引号不解析变量,单引号的执行效率快。当内容中含有定界符时,用转意符解决(\';\";\\;\$;\n换行;\r回车)。双引号解析所有转意符,单引号只能解析\\和\',这两个转意符。当页面中要出现大于号>,小于号<,单引号,双引号,不间断空格,都要把它们转换成html实体(进行html编码)。php引擎在解析变量的时候,会尽可能多的向后去取合法字符,认为取的合法字符越多,变量的含义就越明确,花括号的作用:将变量当做一个整体,{$变量名}或${变量名},在变量名称和花括号{}之间不要有空格。通过花括号{}对字符串中的制定字符做增删改查。字符串的下标从 0 开始。也可以用方括号[],把字符串string当做数组操作,下标从 0 开始,完成增删改查,每次只能增删改一个字符位置。),HereDoc,NowDoc(当要输出大段文本的时候,就需要用到这两个HereDoc和NowDoc,HereDoc以三个小于号开始<<<,就相当于定界符中的双引号,<<<名称,3个双引号后是名称,名称后直接回车,不能有空格。以名称结束,在结束名称之前,不能有任何的输出(在结束名称前不要有空格,必须顶格书写)。在HereDoc中的变量将被解析,在NowDoc中的变量将被原样输出,不进行解析。))中文在UTF8下,一个中文占3个长度。),复合类型(数组array,对象object),特殊类型(资源resource,空null\NULL:未声明的变量值为NULL,声明变量并且赋值为NULL,通过unset()函数注销过的变量。)。

3种伪类型:告诉函数可以接受哪些类型的参数。伪类型有3类:第一类,数值型munber:可以接受整数和浮点数。第二类,混合类型mixed:代表可以接收不同形式的参数。回调函数callback:

得到变量的数据类型:var_dump():将一个或多个变量的详细信息打印到浏览器。

==========第10个视频开始讲授 PHP基础语法:数据类型的转换
在php中主要支持两种数据类型的转换:显式转换(强制转换)和隐式转换(自动转换)。

隐式转换(自动转换):变量根据上下文环境进行自动类型转换。其他类型转换成数值型(true转换成整型的 1 ,false转换成整型 0 ,null转换成整型 0 。字符串转换成数值型:以合法数字开始的字符串,取到第一个非法数字结束。(这个合法数字,可以是整型,浮点型(包括小数形式和科学计数法形式),正负都可))。以非法数字开头的字符串(即以字母开头的字符串),转换成 0 。其他类型转换成字符串型:数值类型直接转换成数值本身;true转换成 1 ,false转换成 空制符串,null转换成 空字符串。数组转换成字符串 Array。资源resource转换成 Resource id #数字。对象不可以直接转换成字符串。其它类型转换成布尔类型(找到转换为false的,其它的都会转换为true):整型0,浮点型0.0,空字符串''或者控制符串""或者'0',"0",null,空数组,这5类都将转换成false,其它转换都为true。

显式转换(强制转换):分为两种:临时转换【(int\interger)->整型,(float)\(double)\(real)->浮点类型,(boolean)\(bool)->布尔类型,(string)->字符串类型,(unset)->空,(array)->数组,(object)->对象,资源类型不能进行强制转换。临时转换并没有改变这个变量的类型。通过函数的形式实现临时转换:intval($val):返回转换成整型的值,floatval \ doubleval($val):返回转换成浮点类型的值,strvar($val):返回转换成字符串的值,boolval($val):返回转换成布尔的值(php版本>5.5.0)。】和永久转换(永久转换会改变这个变量的类型)【settype($val, $type):设置变量的类型,type的可能值为:boolean \ integer \ float \ string \ array \ object \ null \,gettype($val):得到变量的类型(推荐用var_dump())。】。

通过变量函数库检测变量类型,检测的结果为bool类型:是否为整型:(is_int($var),is_integer($var),is_long($var));检测是否为浮点类型:(is_float($var),is_double($var),is_real($var));检测是否是字符串类型:is_string($var);检测是否是布尔类型:is_bool($var);检测是否是标量:is_scalar($var);检测是否是数组is_array($var);检测是否是资源:is_resource($var);检测是否是对象:is_object($var);检测是否为空:is_null($var); 检测是否为数值型,或者字符串的数值(如:'1.1'):is_numeric($var);

==========第12个视频开始讲授 PHP基础语法:常量
常量:是一个简单值的标识符,和变量相反,在脚步执行期间该值不能改变,不能再对常量赋值。常量分为三类:系统常量,自定义常量,魔术常量。

系统常量:是系统提供好的,拿过来可以直接使用的:PHP_VERSION \ PHP_OS \ M_PI 等;

自定义常量:define($name, $value[,$case_insensitive=false]) 方括号表示可选; 注意:常量名前没有$ ;常量名称以字母或者下划线开始,尽量使用大写字母;常量可以在任何地方定义和使用;常量一经定义不能改变也不能取消定义;常量的值只能为标量(整型,浮点类型,布尔,字符串),虽说可以为resource资源类型,但尽量不要使用;常量默认是区分大小写的,如果需要不区分大小写,通过设置define函数的第三个参数为true来实现。
使用常量:第一种,可以直接写常量的名称,不要放到引号之间,不带$;第二种,constant($name);
检测常量是否已经被定义:通过defined函数检测常量名称是否被定义,返回真或者假;

在PHP5.3.0以后可以使用 const 在类定义之外定义常量: const 常量名称=值; const定义的常量区分大小写;
得到所有已被定义过的常量:get_defined_constants(),返回的是关联数组;包括系统常量和自定义常量;

魔术常量:__LINE__:返回文件中当前的行号;__FILE__:返回文件的完整路径和文件名,注意:如果用在被包含文件中(include文件中),则返回被包含的文件名。从PHP4.0.2起,__FILE__返回一个绝对路径,之前则返回相对路径。__FUNCTION__:返回函数名称,注意:自PHP5起常量返回该函数被定义时的名字(区分大小写),在PHP4中该值为小写;__CLASS__:返回类的名称,自PHP5起常量返回该类被定义时的名字(区分大小写),在PHP4中该值为小写;__METHOD__:返回类的方法名(区分大小写),PHP5.0.0新增;__DIR__:返回文件所在目录,如果用在被包含文件中,则返回被包含文件所在目录,PHP5.3.0新增;__NAMESPACE__:返回当前命名空间的名称(区分大小写),此常量是编译时定义的,PHP5.3.0新增;__TRAIT__:返回Trait的名字,区分大小写,Trait名包括其被声明的作用域,PHP5.4.0新增。

==========第14个视频开始讲授 PHP基础语法:运算符

-3%8的值为-3,3%-8的值也为3,结果只和被除数的符号有关,和除数的符号无关。
前缀形式:++$var,--$var,先加减1,再执行;后缀形式:$var++,$var--,先执行,再加减1。对于数值型支持自增自减;布尔类型不支持自增自减;null类型支持自增不支持自减;字符串只支持自增,不支持自减;

字符串运算符:逗号,和点. (多个变量间用点.连接。)

赋值运算符:等号=。

两个等号==,只比较值是否相同。三个等号===,值和类型都要为相同才位置true;

逻辑运算符:
逻辑与:&&或者and,两个表达式都为true,结果才为true,注意:第一个表达式为false造成短路(不会计算第二个值);
逻辑或:||或者or,两个表达式有一个为true,结果为true,注意:第一个表达式为true造成短路;
逻辑非:!,取反的意思;
逻辑异或:xor,当两个表达式同为true或者false,结果为false,相反为true。

执行运算符:反引号``,PHP将尝试将反引号中的内容作为外壳命令来执行,与shell_exec()作用相同;
错误抑制符:@ ,注意:加在任何会产生错误的表达式之前;

三元运算符:exp1?exp2:exp3; exp1为真执行?之后的exp2,否则执行:之后的exp3; 另一种形式:exp1?:exp3;如果exp1为真则返回exp1,否则返回exp3;

==========第21个视频开始讲授 PHP基础语法:流程控制

设置时区:通过函数的形式动态设置时区(只针对设置以后的当前脚本有效):date_default_timezone_get():得到当前的默认时区;date_default_timezone_set($timezone):设置时区,设置成功返回true,失败返回false,有三个时区可设置:PRC:中华人民共和国;Asia/Shanghai;Asia/Chongqing; 通过修改PHP配置文件date.timezone设置时区(针对所有脚本都有效),修改要重启apache服务器;

date($format[,$time=time()])(第二个参数为时间戳,通过time()函数得到。):得到当前服务器的日期时间;Y:代表4位的年,m:代表2位的月,d:代表2位的日,H:代表2位的小时,i:代表2位的分钟,s:代表2位的秒,w:返回一周内的多少天,0~6,0代表星期日;

PHP预定义变量(可以直接使用,所有的预定义变量都是数组):$_POST:HTTP POST变量,接受表单以POST方式发送的数据;$_GET:HTTP GET变量,接收以?形式传参的数据;$_FILE:HTTP 文件上传变量;$_SERVER:服务器和执行环境变量;$_EVN:环境变量;$_SESSION:会话变量;$_COOKIE:HTTP Cookies;$REQUEST:$_GET + $_POST + $_COOKIE;$GLOBALS:超全局变量,在全部作用域中始终可用的内置变量,包含了前面所有的值;

isset($var):检测变量是否被设置,只要变量有值,并且值不为空,isset返回true,否则返回false;
empty($var):检测变量是否为空,也就是转换成布尔类型false的那些情况(整型0,浮点型0.0,空字符串'',字符串'0',布尔false,null,空数组array(),共7个);

程序遇到 exit 或者 die ,将终止执行,不执行下面的语句;也可以在终止的同时向浏览器输出内容:die('输出内容')或者 exit('输出内容');

is_numeric($var):判断变量是否为数值型;

strcmp($str1, $str2):比较两个字符串的大小,在比较时一位一位来比较;如果$str1=$str2,返回0;如果$str1>$str2,返回1;如果$str1<$str2,返回-1; strcasecmp($str1, $str2):忽略大小写的比较大小,$str1=$str2,返回0;如果不等返回的是两个字符的ASCII差,如果前面比较出了结果,后面则不进行比较;

trim($string[, $charlist]):默认去掉字符串两端的空格,也可以通过第二个参数实现去掉两端指定字符(在$charlist里的字符,位置只在两端有效,中间不能去掉),返回过滤后的内容。

md5($string):计算字符串的md5散列值,返回加密之后的32位长度的字符串;
sha1($string):计算字符串的sha1散列值,返回加密之后的40位长度的字符串;

switch语句遇到break,结束整个执行,在switch中只能比较固定的值,switch可嵌套;

精确控制循环的次数的时候,用for循环。用break结束整个for循环;当有两层for嵌套的时候,用break 2 可以结束两层for循环,结束整个for循环。continue:结束当前循环,进入下次循环,continue后面也可以加数字,代表结束当前的几层循环;当在for循环中初始化多个循环条件变量时,第二个表达式中最后一个条件决定是否能执行循环体;for(;;)在第二个循环条件缺失的情况下,默认为真。endfor形式;

通过break结束while循环,continue代表跳过当次循环进入下次循环,endwhile形式,do-while没后endwhile形式。

通过break可以结束switch语句,结束for,while循环。continue在循环中代表结束当前循环,进入下次循环,在switch语句中continue和break等价。

exit或die,用于结束当前脚本执行。

==========第33个视频开始讲授 PHP基础语法:数组

PHP基础 (麦子学院 第二阶段)的更多相关文章

  1. 麦子学院python开发全套完整无加密课程

    点击了解更多Python课程>>> 麦子学院python开发全套完整无加密课程 第一阶段:Python基础准备 1.Web前端开发之HTML+CSS基础入门 2.Javascript ...

  2. 麦子学院Android开发Java教程ClassCastException 错误解析

    现在Java编程中经常碰到ClassCastException 错误,ClassCastException 是 JVM 在检测到两个类型间的转换不兼容时引发的运行时异常.此类错误通常会终止用户请求.本 ...

  3. 【麦子学院】OpenCV教程函数总结

    个自带样例. parter 1: No1. adaptiveskindetector.cpp 利用HSV空间的色调信息的皮肤检測,背景不能有太多与肤色相似的颜色.效果不是特别好. No2. bagof ...

  4. 【麦子学院】Linux cmd命令大全

    pwd :print working directory. 打印工作文件夹即当前文件夹. cd :change directory.切换文件夹. /是linux的根文件夹.eg. cd/home ls ...

  5. 麦子学院bootstrap实战项目官网,后台,jquery.singlePageNav.min.js ,wow.min.js,animate.css使用

    1.源码笔记 我的源码+笔记(很重要):链接: https://pan.baidu.com/s/1eSxgLV0 密码: 2pi2 感谢麦子学院项目相关视频:链接: https://pan.baidu ...

  6. [Python] 使用Python 3 下载麦子学院视频

    本文基于Python 3,下载麦子学院的视频课程. 本项目只是针对某个具体课程的链接,去寻找该课程所有课时的视频链接并进行下载. 整个项目是非常简单的. 主要涉及的Python: 网络相关:reque ...

  7. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  8. python爬取并下载麦子学院所有视频教程

    一.主要思路 scrapy爬取是有课程地址及名称 使用multiprocessing进行下载 就是为了爬点视频,所以是简单的代码堆砌 想而未实行,进行共享的方式 二.文件说明 itemsscray字段 ...

  9. 使用Angularjs开发Web App 视频课程 --麦子学院课程

    前往搓这里: http://www.maiziedu.com/group/common/course/3271/ 查看课程搓这里:http://www.maiziedu.com/course/web/ ...

随机推荐

  1. HTML 5网页设计入门必读(书)

    今天看了一本由人民邮电出版社出版.邢薇薇 郭俊飞 王雪翻译的<HTML 5网页设计入门必读>,在此整理一下知识点,以及写一些自己的读后感. 本书的开章还是和大部分HTML 5书籍一样,用极 ...

  2. debug问题记录

    debug进不去,发现断点没有带勾. 方案:去掉所有断点,重新编译,debug启动,重新打断点. source里面加入自己的java project. 关掉所有的java页面!!! dobbo服务用d ...

  3. 如何清理Windows缩略图缓存?

    从Win95的IE4开始就有缩略图缓存了,缩略图缓存作用主要是用于存储Windows资源管理器缩略图图像文件.这加快了图像的显示速度,因为每次用户查看文件夹时都不需要重新生成这些较小的图像.缩略图缓存 ...

  4. *Amazon problem: 234. Palindrome Linked List (reverse the linked list with n time)

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  5. POJ-3267 The Cow Lexicon---删除字符匹配单词

    题目链接: https://cn.vjudge.net/problem/POJ-3267 题目大意: 题意就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列. PS: ...

  6. Python:函数的命名空间、作用域与闭合函数

    1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回 ...

  7. 重写equals方法(未完)

    equals方法是我们日常编程中很常见的方法,Object中对这个方法的解释如下: boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”. 查看该方法的底层代码如 ...

  8. excel导入到java/导出到excel

    package com.test.order.config; import com.test.order.domain.HavalDO; import org.apache.poi.ss.usermo ...

  9. 微信小程序全局/页面配置

    flex布局 父元素 display:flex; flex-direction: row; justify-content:space-between 补充 flex-direction属性决定主轴的 ...

  10. 跨域-iframe

    跨域 同源策略:为保障用户信息安全,防止恶意网站窃取数据的一种安全策略. "同源":协议相同.域名相同.端口号相同 "非同源": 1.Cookie.LocalS ...