重启电脑后再打开Wamp Server图标变黄,但是前面写的基本的PHP还是能运行,原来是自己原来的的MySQL占用了3306端口,导致Wamp Server的不能正常启用,在services.msc
里关闭自己的MySQL服务,然后重启Wamp Server即可。
认识PHP
PHP的.php
文件可以包含文本、HTML、JS、PHP代码,类似于JSP,它也是在服务器上执行并生成HTML返回给客户端。
上篇安装的Wamp Server是一个包含了 PHP、Apache、Mysql的PHP服务器组件,在这个上面可以方便的学习和开发PHP。
PHP脚本
PHP脚本于PHP文件
在.php
文件的任何位置,使用
<?php
...
?>
来包含一个PHP脚本。在PHP脚本中用//...
形成单行注释,用/*...*/
形成多行注释。
仅含PHP脚本的PHP文件
在仅含有PHP脚本的.php
文件中,应当去掉?>
闭合符号,因为?>
之后的东西,即使是空白符,都会被直接发送给客户端,如果只含PHP脚本,在很多时候这样的做法是不合本意的。
PHP变量
PHP中的变量声明时不需指明类型,也不需要任何关键字,就像JS时不写var
一样。看起来就像不需要声明就可以直接使用一样。
变量格式
PHP中的变量由$
表征,变量格式的正规式是:
$(字母|下划线)(字母|数字|下划线)*
全局变量和局部变量
在函数内的变量是局部变量,在所有函数外的变量是全局变量。
<?php
$a = "全局变量";
function myfun()
{
global $a;//声明要使用全局变量$a
$b = "局部变量";
echo "函数内访问了", $a, "和", $b;
}
myfun();//调用这个函数
echo "<br>";
echo "函数外访问了", $a;
输出:
函数内访问了全局变量和局部变量
函数外访问了全局变量
在函数外,不能访问函数内的局部变量,这和其它语言一样。需要注意的是,在函数内要访问全局变量,则需要用global
关键字声明一次。
GLOBALS数组
全局变量都保存在GLOBALS数组中,通过GLOBALS数组可以在函数体内直接访问全局变量。
<?php
$a = 123;
$b = 456;
function myfun()
{
echo 'a=' , $GLOBALS['a'];
echo '<br>';
$GLOBALS['a']=$GLOBALS['a']+$GLOBALS['b'];
echo 'a=' , $GLOBALS['a'];
echo '<br>';
}
myfun();
echo 'a=' , $GLOBALS['a'];
输出:
a=123
a=579
a=579
static作用域
除了局部作用域的局部变量、全局作用域的全局变量外,还有加在局部变量上的static作用域,能够保持该变量在函数结束后不被销毁。
static修饰的局部变量只声明一次,下次执行到声明语句不会再重复声明。
<?php
function myfun()
{
static $a = 111;
echo 'a=', $a;
echo '<br>';
$a += 1;
}
myfun();
myfun();
myfun();
输出:
a=111
a=112
a=113
参数作用域
函数调用可以传参。
<?php
function myHello($a)
{
echo '你好,', $a;
}
myHello('刘知昊');
输出:
你好,刘知昊