php中文名为“超文本预处理器”,是一门后台语言。由于他简单,容易入门,它是在web开发中使用最广泛的一种编程语言。
下面是他的基础语法,自学php的小白可以参考参考;
1.变量定义使用$符号,php三种语法格式:
<?php 代码块 ?>
<? ?> php短标签,但是这个不提倡使用,因为它取决于服务器配置
<% %> sap,更加不提倡
php每句话的末尾必须有;分号
echo: 输出变量到浏览器
print_r: 输出数组
<?php
$name = "马大哈";
echo $name;
?>
2.传递给后台php的参数使用?连接
?后面的参数得是get类型
<?=$_GET['myname']?>您现在正在访问的站点是:<?=$_SERVER["HTTP_HOST"]?>
<a href="http://localhost/myphp/demo.php?myname=litt">我的站</a>
3. 基本数据类型
php的语法和Js极为相似,懂得js的人很容易就能学会php的语法
- 数字类型(和js无差异)
$number = 1;
$number1 = -1;
$number3 = 0123; // 八进制
$number4 = 0x123; // 十六进制
- 字符串类型
// 三种写法的区别
$string1 = "string $name"; // 在双引号里面,变量会被解析
$string2 = 'string $name'; // 在单引号里面,变量不会被解析
// 可以写多行
$string3 = <<<EOF
string $name
string $name
EOF;
注意:当字符串里面包含了双引号或者单引号时,需要转义
$welcome = "欢迎\"$name\"来到马大哈的博客";
- 数组
与js不一样的地方是字符串也能作为数组的下标
$array = array();
$array[0] = "数组1";
$array[1] = "数组2";
$array['no1'] = "关联数组1";
$array['no2'] = "关联数组2";
$array[] = "数组3";
$array[] = "数组4"; // 如果为空,去当前最大下标自动+1
$array[6] = "数组6"; // 可以任意指定键值
- 数据类型的转换
下面代码执行的结果为110
// 当一个字符串与数字类型的进行数学运算时,会自动转换成数字类型,转换成合法的十进制数字,编程时尽量避免混淆的语法
$num = "10abc";
$num = $num + 100;
4. 运算符
- if语句
$name = "aaa"; // 赋值语句
// 条件语句 if(condition) {exp} else {exp2}
if($name == "ltt"){
echo "您的登录身份是ltt";
echo "欢迎您回来";
}else if($name == "ltt2"){
echo "您是VIP身份";
echo "<a href="">点击登录</a>";
}elseif($name == "aaa"){
echo "您是白金会员";
}else{
echo "您尚未登录";
}
- 与&& 或|| 非!
注意: 短路与和短路或 - 三元运算符
$a = 10;
// $b = 12;
// $c = $a>$b ? $a : $b;
- 多分支switch
$weekday = 1;
switch($weekday){
case 1:
echo "周一";
break;
case 2:
echo "周二";
break;
default:
echo "懒得写了";
}
5.循环语句
- for循环
for($i = 0 ; $i < 10 ; $i++){
echo "$i <br>";
}
- foreach循环
$array[0] = "one";
$array[1] = "two";
$array[2] = "three";
// $array数组 $_key下标 $val数组对应下标的值
foreach($array as $_key => $val){
echo "$_key => $val
";
}
- while与dowhile
$i = 0;
while($i < 10){
echo "$i <br>";
++$i;
}
6. 函数
- 语法(和js相似)
注意:形参可以设置默认值,具有默认值的排在无默认值的右边
function myfunc($param2,$param = "ltt"){
echo $param." hello world";
}
myfunc();
- 函数的闭包
js函数有闭包,php中函数也有闭包使用 use(变量)来保存函数内部的局部变量
function getFunc(){
$array = array();
for($i = 0 ; $i < 10 ; $i++){
$array[$i] = function()use($i){
return 10 + $i;
};
};
return $array;
}
- 变量的作用域
函数体内部定义的变量只在函数体内有效,在函数体内部可以使用global关键字将变量定义为全局变量。
下面的代码不加global $a 时,执行后打印$a还是为10,而加了之后打印$a为7
$a = 10;
function addFunc($a){
global $a;
echo $a = $a - 3;
}
addFunc(10);
echo $a;
- 引用传值
在形参前面添加&符号,传的是变量本身,而不是它的值
下面代码打印的$b的值为9
function myFunc_2(&$a){
$a--;
echo $a;
}
$b = 10;
myFunc_2($b);
echo $b;
- 内置函数
enpty()判定一个变量是不是存在,如果变量不存在返回true
第一种情况变量没有定义,返回的true;
第二种:$luxp = ""; 即使定义了,但是值为空值也返回true;
第三种:$lup = 0,"0",null; 返回true;
总结:empty()只有变量再定以后,并且赋值,且值不为空,0,"0",null,返回false
isset()检测变量是否已设置并且非 NULL
__总结:当变量为null时,返回值为false,其余返回true;
今天小姐姐就整理这么多,等有时间还会陆续整理的,吼吼吼