PHP基础
PHP语言是一门后端语言(Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域,它要想正常运行是需要运行环境支持的。也就是说我们平时所说的本地开发环境。因为PHP是一门主要是用来做网站的语言,因此,我们在搭PHP开发环境的时候,避免不了就是要同时安装相关的web支持软件。主要有以下几种常用的:
(1)Apache、IIS、Nginx等web服务器
(2)PHP
(3)Mysql、SQLserver、Orcal等数据库
WINDOWS上常用的集成安装包很多,比如:Appserv,WAMP,phpstudy等,LINUX上有一款不错的就是LNMP集成包。官方网站有详细安装使用说明,网址为:http://www.lnmp.org;
PHP开发软件:“工欲善其事,必须利其器!”;
关于WAMP无法启动Apache服务器的解决方案
1.如果是80端口被占用,那么修改httpd.conf文件
Listen 0.0.0.0:80
Listen [::0]:80
//修改为
Listen 0.0.0.0:8080
Listen [::0]:8080
修改完后重启wampserver,或者是查看wamp中Apache里面的service测试80端口,查看是什么程序占用了80端口服务,然后关闭相应的程序;
2.如果80端口没被占用,还是无法启动Apache,则:
运行 cmd
cd 到 WampServer 安装目录 如 wamp\bin\apache\Apache2.x.x\bin
运行 httpd.exe -e debug
会提示 Apache 因何不能启动
PHP基础语法
<?php echo 'hello word';?>
PHP代码可以放的位置,纯PHP文件,不要结束的?>标记;
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。
指令分隔符,和JS一样就是一个英文的分号“;”
注释和JS基本一样,(js不能用#注释)(#单行,//单行,/*多行*/);
PHP数据类型
整型 --比如:1,2,0
浮点型 --1.2,1.0
字符串 --非数字都是字符串,字符串必须用双引号或单引号包起来。换句话说,数字被引号包起来,数字也就成了字数串。
布尔型 --真(true)或假(false)
对象 --Object
NULL --空 唯一个值就是NULL
NaN --Not a Number这不是一个数字
undefined --未定义
0,false,null,undefined,'',NaN,都代表假;
PHP单引号和双引号区别及用法
单引号中的变量不会被解释,双引号中的变量是被解释,编程过程中普通的字符串尽量用单引号,解析速度快;不像JS,引号中的任何字符都是字符串的一部分,PHP中双引号里面的变量还是变量,不是字符串的一部分。
<?php
$int = 1;
echo '输出$int';
echo "输出$int";
PHP变量
变量以 $ 符号开头,其后是变量的名称,变量名称必须以字母或下划线开头,变量名称不能以数字开头,变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _),变量名称对大小写敏感($y 与 $Y 是两个不同的变量),不同的英文单词之间建议使用下划线“_”进行分隔比如$my_apple,$this是PHP的保留字,不能用来定义成一个自定义的变量;
PHP中定义大段文本内容的语法:
<?php
header("Content-type:text/html;charset=utf-8");
$string = <<<GSY
这里定义大段文本内容,我比定义普通字符串的容量还要大哦。
GSY;
echo $string;
Global定义全局变量说明:global $a;global只能用在function内部;
<?php
$test = 123;
abc();
function abc() {
echo $test;
}
$test = 123;
abc();
function abc() {
global $test;
echo $test;
}
PHP中的可变变量:就是把变量名动态的设置和调用:
<?php
header("Content-type:text/html;charset=utf-8");//防止页面出现乱码
$str_name = 'string';
$string = 'I Like PHP';
echo $$str_name ;
PHP变量的值引用:变量的引用,也叫变量的值传递;就是一个&符号的在变量中的运用,例如:
$a = 1;
$b = &$a;
echo $b;
PHP超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需使用关键字 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS —— 引用全局作用域中可用的全局变量
- $_SERVER —— 服务器和执行环境信息
- $_REQUEST —— HTTP Request 变量
- $_POST —— HTTP POST 变量
- $_GET —— HTTP GET 变量
- $_FILES —— HTTP 文件上传变量
- $_ENV —— 环境变量
- $_COOKIE —— 会话机制
- $_SESSION —— 会话机制
错误抑制符
@可以抑制错误的报道,例如数据库连接、数据表的操作等,用的可能比较多。主要是放在一些可能会出现异常情况的函数前面。下面这个是文件删除出错被抑制。因此,虽然文件不存在,它也不会报错。如果去掉@符号,下面的程序就要报文件不存在类似的错误了。
@unlink('e:/www/qinsiwang/www/001.html');
PHP常量定义
PHP中通常用define()函数来定义常量,关键字const也可用来定义常量,但必须是在(class)类文件内部使用;
<?php
define('PI',3.1415926);//定义一个不变的圆周率
$r = 10;//假设圆半径为10
echo '半径为10个单位的圆面积是'.$r*PI;
包含语句
包含(也叫引入),主要是将其它文件引入到当前文件内部使用。如同复制粘贴的原理。
include , include_once
require , require_once
区别:
(1)include和require遇到包含不存在的文件的时候,报错级别不同。include报一个警告级别的错误,而require报一个致命级别错误。
(2)inlcude包含的文件不存在的时候,它后面的程序会继续往下运行,而require后面的程序不再运行。
(3)带_once的包含语句,在运行的时候会检查这一行的前面有没有包含,如果有,本次就不再包含,如果没有,就包含。
语法举例:
require '1.php';
echo 'hello';
PHP中的输出语句
echo 输出一个普通的变量
print_r($a)输出数组或对象,输出时不带类型
var_dump($a) 输出任何类型的数据,会带数据类型
var_export($a) 输出或返回一个变量的字符串表示,形式为符合原生PHP类型的语法形式
exit 程序结束命令
die('abc'); 输出并停止运行
顺便记一下PHP输出当前的PHP配制信息函数:
phpinfo();
PHP运算符
- 算术运算符
+ - * /
%取模:表示取余数,/取的是商
例:
5 % 2 = 1;
5 / 2 = 2.5;
++ 累加 前加,后加
-- 累减 前减,后减
$i = 1;
echo $i++;
- 赋值运算符
=(赋值) += -= /= *= %=
- 比较运算符
== 两边的值进行比较
=== 全等,不仅比较值,还比较两个值的类型
!= 不等于
!== 全不等于
> < >= <=
举例说明:
$i = '1';
$r = 1;
if ($i == $r) {
echo '相等';
} else {
echo '不相等';
}
- 逻辑运算符
&& --and
|| --or
!非
- 三元运算符
$str = (5>1) ? '大于' : '小于';
流程控制语句
- 条件语句
//单一条件分支结构
if (5>1) {
echo '大于';
} else{
echo '小于';
}
//多条件分支结构
$result = 50;
if ($result >= 90) {
echo '优秀';
} elseif ($result >= 60 and $result <= 90) {
echo '合格';
} else {
echo '不及格';
}
- for循环
for ($i=0;$i<=10;$i++) {
echo ($i%2) == 0 ? $i.'是偶数'.'<br>' : $i.'是奇数'.'<br>';
}
- switch循环
date_default_timezone_set('PRC');//Republic of China
$hour = date('H');
switch ($hour) {
case '08':
echo '早上好';
break;
case '12':
echo '中午好';
break;
case 17:
echo '下午好';
break;
default:
echo '您好';
break;
}
- while循环
$r = 1;
while ($r<0) {
echo $r.'<br>';
$r++;
}
- do while循环
$r = 1;
do {
echo $r;
} while($r<0);
- foreach循环
$arr = array('name'=>'张三','age'=>24,'sex'=>'男');
foreach ($arr as $key => $value) {
echo '下标为:'.$key.'的值为:'.$value.'<br>';
}
//$key是可以省略的,$value不能省略,$key和$value只是一个变量名,不固定不变的名称
- 补充说明
break;
在循环语句里,遇到break,程序就直接跳出循环体。不再运行循环体里面的程序。
continue;
在循环语句里,遇到continue,程序会回到循环语句的起始位置重新开始循环。continue之后的语句本次不再运行。
计算程序运行时间
PHP数组
数组是对大量数据进行组织和管理的有效手段之一,通过数组的强大功能,可以对大量性质相同的数据进行存储、排序、插入及删除等操作,从而可以有效的提高程序开发效率以及改善程序的编写方式。
数组有多种表现形式以及灵活性,数组的维数,主要看括号有几层。
在PHP中有两种数组:索引数组和关联数组。
PHP的超时控制
php脚本文件默认的运行超时时间是30秒,即运行超过30秒无返回结果,则php脚本会提示超时错误。但是有时候确实有超过30运行时间限制的需求,这里讲解几种方法来调整这个时间限制。
1、打开php.ini文件,找到 max_execution_time,将后面的数字改成你想要的时间,单位是秒。
这种方式修改后需要重启服务,一般不建议采用这种方法。
2、使用PHP的ini_set()函数设置,设置方法:
ini_set("max_execution_time",1800);
设置语句必须是php文件的第一行。
3、使用PHP的set_time_limit()函数设置,设置方法:
set_time_limit(1800);
设置语句必须是php文件的第一行。
任务
反复练习数组的创建,并运用所学循环语句进行循环输出;