一、下列所有的操作都必须包括在<?php ?>里面,不推荐<??>这种标签写法。
1、变量的声明:$变量名;例如:$name;
2、变量的赋值:$name = "haha";$app = 5;.....很多种类型的值,与javascript相同。
3、输出变量(到浏览器页面):echo $变量名;例如:echo $name;
4、创建新的数组:$数组名 = array();例如:$arr = array();
5、为数组赋值:$arr[0] ="数组1";
$arr[1] ="数组2";
$arr['no1'] ="关联数组1";//这里表示下标为“no1”的元素,为数组的第三个元素。下同解释。。。。
$arr['no2'] ="关联数组2";
$arr[]="数组3";
$arr[]="数组4";//如果为空,会自动取当前最大下标+1
$arr[6]="数组6";//可以任意指定键值
6、输出数组:print_r($数组名),输出数组的某一元素,仍然用:echo。
备注:我们可以在HTML文档的任意位置插入<?php ?>标签,当一个网页被请求的时候,php解析器首先分析文档里面的php语句,将该部分处理后,与静态网页部分一起输出到浏览器。
二、PHP里的数据类型
//数字类型
$number1=1;
$number2= -1;
$number3=0123;//八进制
$number4=0x123;//十六进制
$number1=$number1+$number2;
echo$number1;
//字符串类型
$name="luxp";
$string1="string$name";//在双引号里面,变量会被解析,结果为变量所对应的具体的字符串。
$string2='string $name';//在单引号里面,变量不会被解析,结果为:$name 这个字符串
//在EOF里面可以写多行,中间不需要加分号
$string3=<<<EDF
string$name
string$name
EOF;
echo "string1:<br>";
echo $string1;
echo "string2:<br>";
echo $string2;
echo " string3:<br>";
echo $string3;
$name="luxp";
//点表示拼接
$welcome="欢迎".$name."来到这里";
$name.="欢迎\"$name\"来这里";//这里的‘\"’是为了给输出结果加上单引号
echo $name;
echo $welcome;
//二维数组,数组的元素还是数组
$arr['no1']= array(1,2,3,4);
print_r ($arr);
echo$arr['no1'][2];//结果为:3.
//布尔类型
$result1=false;
$result2=true;
//数据类型的转换
备注:PHP是一个弱类型的语言,定义变量的时候不需要明确指定变量类型,并且变量在程序执行过程中可以被赋值成任意类型。
例如:
//$num = 1;
//$num = "太差了";
//$num = true;
//当一个字符串与数字类型进行数学计算时,会自动转换成数字类型(转换成合法的十进制数字)
$num="30abc";
$num=$num+100;
echo$num;//结果为130 ,但是如果:$num = "abc30",结果就为100了。
三、各种语句(都以举例说明)
1、赋值语句:$name = "112";
2、if条件语句:①if($name=="luxp"){
echo"您的登录身份是luxp";
}else if($name=="luxp2"){
echo"你是VIP哦";
}else{
echo"您尚未登录";
echo"<a href=\"\">点击登录</a>";
}
②浮点数的运算:
$num1=10;
$num2=1.1;
$num3=2.2;
//浮点数的运算存在精度问题,不能直接相比较,所以下列语句的输出结果为:"傻缺"。
if(1.1+2.2==3.3){
echo"对";
}else{echo"傻缺";}
③.判定类型的语句:注意,在判定类型的时候,一定要使用全等(===)
$num11=10;
$num21="10";
//结果为:"傻缺",如果是两个等号,结果就是:"对"。
if($num11===$num21){
echo"对";
}else{
echo"傻缺";
}
④取反
$result=true;
//结果为:false
if(!$result){
echo"false";
}else{
echo"true";
}
3、逻辑运算(短路或)
$nums11=10;
$nums22=20;
//结果为10.
if($nums11>=10||$nums22++ >25){
echo"$name";
}else{
echo"--";
}
echo$nums22;
4、三目运算符
$a=10;
$b=12;
$c=$a>$b?$a:$b;
echo$c;
5、多分支switch
$weekday=1;
switch($weekday){
case1:
echo"Monday";
break;
case2:
echo"Tuesday";
break;
default:
echo"I'm so tired!";
}
注意!!!以上语句都是写在<?php ?>标签里面
四、循环语句
1、for 循环
for($i=0;$i<10;$i++){
echo"$i";
}
2、用foreach 遍历数组
$array[0] ="one";
$array[1] ="two";
$array[2] ="three";
//array :代表要遍历的数组;key:代表下标; val:代表 值(键值)
foreach($array as $key => $val){
echo "$key =>$val";
}
3、while循环
$i=0;
while($i<10){
echo "$i";
$i++;
}
4、do...while 循环
$numsss=10;
do{
echo "$i";
if($i==$numsss){break;}
$i++;
}while(1);
5.循环遍历:
①<?php
$lesson= array();
$lesson[0] ="休息";
$lesson[1] ="h5";
$lesson[2] ="js";
$lesson[3] ="php";
$lesson[4] ="css";
$lesson[5] ="html";
$lesson[6] ="自习";
?>
//遍历上述数组,我们写一组标签,这是不需要包裹在<?php?>标签里面的,就相当于我们正常写的HTML里面的标签
<table>
<tr>
<td>周日</td>
<td>周一</td>
。。。
<td>周六</td>
</tr>
</table>
将遍历后的数组的值依次存放到<td></td>里面,我们需要另外写一个<?php?> 标签,如下:
<?php
foreach($lesson as $key =>$val){
?>
<td><?=$val?></td>
<?php }?>//注意,这里的大括号一定要与其前面的php之间空一格。
②双层循环遍历(为了遍历二维数组)
<?php
$lesson1= array();
$lesson1[0] = array("suibian","5","10");
$lesson1[1] = array("suibian1","15","100");
$lesson1[2] = array("suibian2","25","1");
?>
<table>
<tr>
<td>商品名称</td>
<td>商品价格</td>
<td>购买数量</td>
</tr>
</table>
<?php
foreach($lesson1 as $key=>$val){
?>
<tr>
<?php
foreach($val as $_key=>$_val){
?>
<td><?=$_val?></td>
<?php }?>
</tr>
<?php }?>
③在实际运用中,我们web前端不需要自己写数据,所以我们只要会拿取数据就好了,对于上述的遍历数组,我们可以这样写:
结果如下图所示: