PHP学习笔记(1)
----------------------------------未写完----------------------------------
一、开发基础
1.开发工具
- PHP服务器组件。WampServer,下载地址:http://www.wampserver.com/en/#download-wrapper
- PHP IDE(Integrated Development Environment,集成开发环境)。Eclipse PHP Development Tools
- MySql管理工具。Navicat for Mysql
- 文本编辑器。Notepad++,下载地址:http://www.navicat.com.cn/download/navicat-for-mysql
在线开发工具:https://www.runoob.com/try/runcode.php?filename=demo_intro&type=php
2.变量
2.1 语法与变量
- 区分大小写;
- 必须以 $ 开始,无论何时何地都需要带着 $ ; 如:
$x=Sy+$z;echo $x;
- 变量名需要以字母和下划线开头;
- 只能包含(A-z、0-9 和 _ )不可以有空格;
- 不需要声明变量。第一次赋值时被创建;
- 赋值文本时需要加 “ ” ;
- PHP是弱类型语言,不需要定义数据类型;
- PHP写在一个标签尖括号里,<?php xxxxx ?> ;
- 句尾必须加分号 ; ;
//包含在HTML中,一般是在body里
<!DOCTYPE html>
<html>
<body>
<?php
$x=5;
$y=10;
$c=$x+$y;
echo $c;
echo "<br>";//换行,标签也需要加引号 "<br>"
//或者 print $c; 也是输出
echo “ Hello World!” ;
?>
</body>
</html>
2.2 作用域
PHP拥有四种作用域:
- local
- global
- static
- parameter
2.2.1 局部(local)、全局(global)作用域
可以在不同函数中使用相同的变量名称,因为函数内定义的变量名是局部变量,只作用于该函数内。
<?php
$x=5;//全局变量
function myTest(){
$y=11;//局部变量
echo "<p> 函数内部变量测试 </p>";
echo "变量x是 $x";
echo "<br>";
echo "变量y是 $y";
}
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>
/*
测试函数内变量:
变量 x 为:
变量 y 为: 11
测试函数外变量:
变量 x 为: 5
变量 y 为:
*/
2.2.2 global 全局变量
(1) global用于在函数内部访问/调用全局变量。
<?php
$x=5;
$y=11;
function myTest(){
global $x,$y;
$y=$x+$y;
echo $y;
}
myTest();
echo $y;
//输出结果为16
?>
(2) 全局变量数组 $GLOBALS[index]
- PHP中所有的global变量都储存在一个数组: $GLOBALS[index] ,其中 index 为变量名。
- 此数组可以直接在函数中使用,也可以用于更新全局变量;
示例:
<?php
$x=5;$y=11;
function myTest(){
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
//运行结果 16
?>
2.2.3 static 静态作用域
- 当一个函数调用结束时,函数内部的局部变量会随之删除;
- 若想继续使用该内部变量,可以在赋值时加上 static 。 此后,每次调用该函数时,该变量将会保留函数前一次被调用时的值。该变量仍然是函数的局部变量。
<?php
function myTest()
{
static $x=5;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();//5
myTest();//6
myTest();//7
?>
不加static:
<?php
function myTest()
{
$x=5;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();//5
myTest();//5
myTest();//5
?>
2.2.4 parameter 参数作用域
- 参数在函数声明时写在参数列表中,是函数的一部分;
- 调用函数时将参数(值)传给函数内部的局部变量。
<?php
function myTest($x){
echo $x+3;
}
myTest(5);//8
?>
3. 回显(echo)和打印(print)
3.1 相同点:
- 都是语言结构
- 括号可加可不加,echo();print();
- echo可以输出拼接字符串,print不可
- 输出数组要用大括号,
{$array[0]}
3.2 不同点:
echo | |
---|---|
可以打印多个二进制(输出拼接字符串) | 只允许输出一个文本(不可输出拼接) |
速度更快 | 速度稍慢 |
无返回值 | 返回值总为1 |
3.3 使用语法演示
(1)echo
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
//输出变量
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
//输出字符串
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";
?>
(2)print
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
//打印输出变量
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
//打印输出字符串
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";
?>