首页 > 代码库 > PHP基础知识
PHP基础知识
PHP基础知识点整理
一、PHP的注释(行注释,块注释)
<h3>PHP的注释</h3>
<?php
echo "//第一种注释<br/>"; #后面没有代码的时候,可以不写分号。但是有,就不行!
echo "#第二种注释<br/>";
echo "/** <br/>
* 第三种注释<br/>
*/";
?>
二、PHP中对所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都(对大小写不敏感)不区分大小写,但是变量需要区分大小写
a) 声明变量用“$”,不能用数字开头。
b) 输出变量的时候,“$”一定不能掉
c) PHP 是一门类型松散的语言,我们不必告知 PHP 变量的数据类型。
d) 关于报错:
【一般在eclipse,或者运行时候在网页上报出】
【如果上面两种情况都没有报错,说明没有语法错误,很可能是逻辑错误或者写的有问题(比如说:用count()统计出数组的长度[o1] )】
Notice: Undefined variable: Number in G:\PHP\DayOneExercise01\php01_03.php on line 13
<h3>PHP关键字不区分大小写,但是变量需要区分大小写</h3>
<?php
echo "hello,四川人!"."<br/>";//php标签语法里:HTML标签直接写在引号里就是
ECHO "hello,中国人!<br/>";
EchO "hello,地球人!<br/>";
?>
<?php
function fnAge(){
$age = 19;
echo $age;
}
fnaGe();//自定义的函数
?>
<?php
$number = 10;//声明变量用“$”
echo "number=".$number;//输出变量的时候,“$”一定不能掉
echo "Number=".$number;
?>
三、PHP拼接使用点号
echo "hello,四川人!"."<br/>";
四、PHP标签语法里:HTML标签直接写在引号里就是
echo "hello,四川人!"."<br/>";
ECHO "hello,中国人!<br/>";
五、PHP的变量,局部变量,全局变量,静态变量
a) 局部变量:只在函数代码块中起作用。
b) 全局变量:
- i. 在函数外定义和赋值;
- ii. 在函数内部使用全局变量的时候,必须使用global关键字。
c) 静态变量:这个变量不释放内存。
<html>
<body>
<h3>变量</h3>
<?php
//声明变量
$name1 = "xiaoyi";
$name2 = "xiaoer";
$name3 = "xiaosan";
//输出变量
echo "name1:".$name1."<br/>";
echo "name2:".$name2."<br/>";
echo "name3:".$name3."<br/>";
?>
<h3>局部变量</h3>
<?php
function myTest01(){
$name = "小阳";
echo "局部变量是:".$name;
}
myTest01();//记得调用函数
//echo "局部变量是:".$name;//这个name是无效的
?>
<h3>全局变量</h3>
<?php
$name = "小小";
function myTest02(){
global $name;//全局变量在函数外定义和赋值,
//但是php里还需要用关键字“global”来再次说明
echo "全局变量是:".$name;
}
myTest02();//记得调用函数
?>
<h3>静态变量</h3>
<?php
function myTest03(){
static $age = 18;//这个变量不释放内存
$age ++;
echo "静态变量是:".$age;
}
myTest03();//18
myTest03();//19
myTest03();//20
?>
</body>
</html>
六、PHP里单引号和双引号的区别
a) echo "{$addr}欢迎你,欢迎来$addr";//这里第一个变量必须用花括号与后面的字符分隔,第二个就不需要了
b) echo "333\n444";
c) 双引号可以解析转义字符,单引号不行。
d) 字符串类型(string):表示连续的字符序列。
字符中的每个字符占一个字节。
字符可以包括:数字、英文、特俗字符、控制字符。
字符串可以用单引号或双引号括起来。
e) 函数传参:
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>
<h3>PHP里单引号和双引号的区别</h3>
<?php
echo ‘111\n222‘;//111\n222
echo "<br/>";
echo ‘<br/>‘;
echo "333\n444";//实际上是换行了的(查看源脚本就知道)
echo "<br/>";
$addr = ‘成都‘;
echo ‘$addr欢迎你,欢迎来$addr‘;//单引号里变量不能被解析
echo "<br/>";
//echo "$addr欢迎你,欢迎来$addr";//有错误:Undefined variable: addr
echo "<br/>";
echo "{$addr}欢迎你,欢迎来$addr";//这里第一个变量必须用花括号
echo "<br/>";
echo "[$addr]欢迎你,欢迎来$addr";//这里用方括号也可以被解析,但是方括号一样会被输出
?>
七、PHP常量
a) define(‘PI‘, 3.14);//注意PI需要用(单/双)引号引起来
b) define(‘G‘, 9.8,true);//true表示不区分大小写
//true关键字:可以大写,也可以小写
c) 使用constant()获取常量的值【也有要注意大小写,用第三个参数来限制】
echo constant("MIN-WIDTH");//注意用到引号啊
d) 使用defined()判断常量是否存在
if(defined("PI")) //注意是defined,不是define
e) 常量一旦被定义就无法更改或撤销定义
f) 有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
g) 注释:与变量不同,常量贯穿整个脚本是自动全局的。
<html>
<body>
<h1>PHP 常量</h1>
<?php
define(‘PI‘, 3.14);//注意PI需要用(单/双)引号引起来
ECHO PI;//输出常量的时候,不需要使用”$“符号。
echo "<br/>";
define(‘G‘, 9.8,true);//true表示不区分大小写
//true关键字:可以大写,也可以小写
ECHO "g:".g."<br/>";
ECHO "G:".g;
echo "<br/>";
define("Ab", 3.333);
echo "Ab:".Ab."<br/>";
//使用constant()获取常量的值【也有要注意大小写,用第三个参数来限制】
define("MIN-WIDTH",20);
echo constant("MIN-WIDTH");//注意用到引号啊
echo "<br/>";
//使用defined()判断常量是否存在
if(defined("PI")){//注意是defined,不是define
echo "PI是已经定义过了的<br/>";
$r = 3;
$area = PI*$r*$r;
echo "area=".$area;
}else{
echo "PI未定义<br/>";
define("PI", 3.14);
$r = 3;
$area = PI*$r*$r;
echo "area=".$area;
}
?>
</body>
</html>
八、PHP数据类型1(bool)
a) PHP输出变量有两种方式:1. 用echo; 2.用var_dump()
b) 用echo:用于输出一般的数值类型,字符类型,等等。
c) var_dump() 会返回变量的数据类型和值。
d) 用echo,当值是false的时候输出为空(什么都没有),true为1;
用var_dump()------对bool值很有用。
e) var_dump($isOk);//注意变量输出,”$“符号不能调
<h3>PHP输出变量</h3>
<?php
//1.用echo
//2.用var_dump()------对bool值很有用
$isOk = false;
$isStudent =true;
echo "isOk=".$isOk;//用echo,当值是false的时候输出为空(什么都没有)
echo "<br/>";
echo "isStudent=".$isStudent;
echo "<br/>";
echo "isOk=";
var_dump($isOk);//注意变量输出,”$“符号不能调
echo "<br/>";
echo "isStudent=";
var_dump($isStudent);
?>
九、PHP数据类型2
a) 三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
b) $num02 = -010;//注意:0表示八进制,后面智能跟整数,如果跟小数,会按照十进制解析。
c) $num03 = 0x10;//0x后面只能跟整数哈
<h2>整型</h2>
<?php
//三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
$num01 = 10;
echo "十进制整数值是:".$num01;
echo "<br/>";
var_dump($num01);
echo "<br/>";
$num02 = -010;//注意:0表示八进制,后面智能跟整数,如果跟小数,会按照十进制解析。
echo "八进制整数值是:".$num02;
echo "<br/>";
var_dump($num02);//-8
echo "<br/>";
$num03 = 0x10;//0x后面只能跟整数哈
echo "十六进制整数值是:".$num03;
echo "<br/>";
var_dump($num03);
?>
<h2>浮点型</h2>
<?php
$index = 12.34;
$index ++;
echo "浮点值是:".$index;
echo "<br/>";
var_dump($index);
?>
<h2>bool型</h2>
<?php
$isOK = TRUE;//true为1
$isR = false;//false为空。。
echo "bool值是:".$isOK;
echo "<br/>";
var_dump($isOK);
echo "<br/>";
echo "bool值是:".$isR;
echo "<br/>";
var_dump($isR);
?>
十、PHP数据类型3(NULL)
a) 特殊的 NULL值:表示变量无值。
b) NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
c) NULL 是数据类型 NULL 唯一可能的值。
d) 可以通过把值设置为 NULL,将变量清空。
<h1>NULL</h1>
<?php
$x = "hello world";
$x = null;
echo "x=".$x;
echo "<br/>";
var_dump($x);
/**
* 特殊的 NULL值:表示变量无值。
* NULL 是数据类型 NULL 唯一可能的值。
* NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
* 可以通过把值设置为 NULL,将变量清空:
*/
?>
<?php
$a = null;
echo "a的值是:".$a."<br/>";
echo "数据类型:";
var_dump($a);
?>
十一、 PHP数据类型4(string)
a) strlen() 函数返回字符串的长度,以字符计。
常用于循环和其他函数,在确定字符串何时结束很重要时
(在循环中,我们也许需要在字符串的最后一个字符之后停止循环)
b) strpos() 函数用于检索字符串内指定的字符或文本。
- i. echo strpos("Hello world!","world");
- ii. 如果找到匹配,则会返回首个匹配的字符位置。(字符串中首字符的位置是 0 而不是 1)
如果未找到匹配,则将返回 FALSE。
<h1>PHP数据类型:字符型</h1>
<?php
$s = "hello,世界!";
echo "字符串是:".$s;
echo "<br/>";
echo "字符串的长度是:".strlen($s);//注意:一个汉字(包括中文输入状态下的标点符号)是占两个字符。
echo "<br/>";
echo "用var_dump()输出字符串:";
var_dump($s);//输出数据类型,字符串的长度,以及字符串内容。
/**
* 提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。
* (例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。
*/
echo "<br/>";
echo strpos($s, "llo");
/**
* strpos() 函数用于检索字符串内指定的字符或文本.
* 如果找到匹配,则会返回首个匹配的字符位置。
* 如果未找到匹配,则将返回 FALSE。
* 字符串中首字符的位置是 0 而不是 1
*/
十二、 PHP 中echo和print
a) echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
b) print之只能输出一个字符串,想输出多个,可使用点号来拼接。
c) echo 、print都是一个语言结构,有无括号均可使用:echo 或 echo()。
d) echo 、print后接的字符串中都能包含 HTML 标记。
<H1>echo 和 print </H1>
<?php
echo "this"," is"."a book.";
echo "<br/>";
print "this"." is";//print之只能输出一个字符串,想输出多个,可使用点号来拼接。
?>
十三、 PHP数组
a) 计算数组的长度
Echo "数组的长度是:".count($friuts);
b) 遍历输出数组
for($i=0; $i<3; $i++){
echo $friuts[$i];
echo " ";//再多的空格都只是一个空格。
}
<h1>PHP数组</h1>
<?php
$friuts = array("苹果","西瓜","桃子");
//计算数组的长度
echo "数组的长度是:".count($friuts);
//输出其中一个值
echo "<br/>";
echo $friuts[2];//注意数组不要越界
echo "<br/>";
//遍历输出数组
for($i=0; $i<3; $i++){
echo $friuts[$i];
echo " ";//再多的空格都只是一个空格。
}
echo "<br/>";
//输出全部
var_dump($friuts);
?>
十四、 PHP对象
a) 声明一个局部变量
var $name;//注意:类里声明变量,要用var
b) $this->name = $sName;//错误的写法:$this->$name
//【注意:在PHP中用"->"这个指向符号,这点跟Java不一样,Java中是点号】
c) $stu = new Student();//创建一个对象
$stu->setName("朝林");//注意:这里的调用不是使用点号,而是使用指向符号。
$name = $stu->getName();
echo "姓名:".$name;
<html>
<head>
<meta setchar="utf-8">
</head>
<body>
<h1>PHP对象</h1>
<?php
class Car{
var $color;
function Car($color="red"){
$this->color =$color;
}
function what_color(){
return $this->color;
}
}
$car = new Car();//创建一个对象
$car->Car("yellow");
$color = $car->what_color();
echo "车的颜色是:".$color;
?>
<br/>
<?php
//创建一个学生类
class Student{
//声明一个局部变量
var $name;//注意:类里声明变量,要用var
function setName($sName){
//把局部变量赋值给全局变量
//this代表当前类的对象
$this->name = $sName;//错误的写法:$this->$name
//【注意:在PHP中用"->"这个指向符号,这点跟Java不一样,Java中是点号】
}
function getName(){
return $this->name;
}
}
$stu = new Student();//创建一个对象
$stu->setName("朝林");//注意:这里的调用不是使用点号,而是使用指向符号。
$name = $stu->getName();
echo "姓名:".$name;
?>
</body>
</html>
十五、 PHP函数
a) PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
b) 除了内建的 PHP 函数,我们也可以创建我们自己的函数。
c) 页面加载时函数不会立即执行,函数只有在被调用时才会执行。
十六、 PHP与HTML结合------实例
<HTML>
<body>
<h1>php和html结合------实际操作</h1>
<h2>用PHP代码,创建十个btn</h2>
<?php
for($i=0; $i<10; $i++){
?>
<input type="button" value="http://www.mamicode.com/<?php echo "第".($i+1)."个按钮";?>">
<?php
}
?>
<h2>结合数组,创建几个水果按钮</h2>
<?php
$friuts = array("苹果","香蕉","芒果","水蜜桃");//注意:在php中,创建数组的时候的方式。使用关键字array
$len = count($friuts);
for($i=0; $i<$len; $i++){ //注意数组下标不要越界
?>
<input type="button" value="http://www.mamicode.com/<?php echo $friuts[$i];?>">
<?php
}
?>
<h3>hello</h3>
<h3><?php echo "hello"?></h3>
<?php
/**
* 上面的代码,看起来乱,而且效率不高。
*/
?>
</body>
</HTML>
十七、PHP 简介
一、什么是 PHP?
PHP是广泛使用的开源脚本语言。
PHP 脚本在服务器上执行。
PHP没有成本,可供免费下载和使用。
二、PHP 是一门令人惊叹的流行语言!
成为在网络上最大的博客系统的核心(WordPress)!
深邃到足以运行最大的社交网络(facebook)!
它的易用程度足以成为初学者的首选服务器端语言!
三、什么是 PHP 文件?
文件的后缀是 ".php";
码在服务器上执行,而结果以纯文本返回浏览器
PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
四、PHP 能够做什么?
PHP 能够生成动态页面内容
PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP 能够接收表单数据
PHP 能够发送并取回 cookies
PHP 能够添加、删除、修改数据库中的数据
PHP 能够限制用户访问网站中的某些页面
PHP 能够对数据进行加密
五、为什么使用 PHP?
PHP 运行于各种平台(Windows, Linux, Unix, Mac OS X 等等)
PHP 兼容几乎所有服务器(Apache, IIS 等等)
PHP 支持多种数据库
PHP 是免费的。请从官方 PHP 资源下载:www.php.net
PHP 易于学习,并可高效地运行在服务器端
十八、PHP环境搭建
- 关于创建我的第一个PHP Project:
(1) 创建玩项目里面是什么都没有了,只能看到“PHP Include Path” 和 “PHP language library” 这是PHP语言的基础支持包。如果你勾选了js支持那么还有有一个包“JavaScript Resource”。
(2) 重点讲下:Javascript Support:
如果你不勾选这个选项,那么在你的项目中对 js css 的编写是没有任何提示的,强烈建议勾上,这样会方便很多。如果你创建项目的时候忘了勾选,那么可以通过“选中项目”-》“右键”-》Configure-》add Javascript support。
- 遇到的问题:phpStudy的端口(80)被占用。
解决方案:1.重启电脑
2.点击其他选项—phpstudy配置—修改端口号 【对于apache不能成功启动的】
3.cmd--------输入命令“netstat –ano”来检测端口号---在任务管理器里去杀死对应的进程。
注意:安装的时候,不要在中文路径下。
- 访问第一个php:
http://localhost:9096/DayOneMyPhp01/php01.php 【注意加上端口号来进行访问】
[o1]
$list = array("苹果","香蕉","芒果");
$len = count($list);// 注意这里不能写成$len = $list.count($list);【注意调试发现错误】
PHP基础知识