一、if流程控制
<?php
if (True) //if的第一种写法,只能执行一种语句
echo "hello";
if (True) //if的第二种写法,加入花括号
{
echo "aaa";
echo "bbb";
}
if (True) //if的第三种写法,加入else
{
echo "aaa";
}else {
echo "bbb";
}
if (True)
{
echo "aaa";
}elseif (False)
{
echo "bbb";
}elseif (1>2)
{
echo "ccc";
}else {
echo "ddd";
}
$user = 'admin'; //if嵌套
$sex = '男';
if ($user == 'admin')
{
echo "hello admin";
if ($sex == '男')
{
echo "先生";
}else {
echo "女士";
}
}
?>
二、switch流程控制
<?php
$a =3;
switch ($a)
{
case 1;
echo "a";
break;
case 2;
echo "b";
break;
default;
echo "no";
}
?>
三、for循环
<?php
$i =1;
for ($i;$i<10;$i++)
{
echo $i;
}
//输出123456789
for ($i=1;$i<10;$i++) //for循环的嵌套
{
echo "<br />";
for ($j=1;$j<=$i;$j++)
{
echo $j."*".$i."=".$j*$i." ";
}
}
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
?>
三、while循环
<?php
$i = 0;
while ($i<10) //0123456789
{
echo $i;
$i++;
}
//区别就是do-while是要先执行一面,再继续判断
$i = 0; //0123456789
do
{
echo $i;
$i++;
}while ($i<10)
?>
四、特殊流程控制
break:跳出循环
continue:跳出单次循环
exit:结束运行
goto:跳转到指定代码
<?php
goto jmp; //输出bbb
echo "aaaa";
jmp:
echo "bbb";
?>
五、数组
1、静态创建数组:array()
<?php
//索引数组:
$arr =array(1,"aa",3.14,True);
print_r($arr); //Array ( [0] => 1 [1] => aa [2] => 3.14 [3] => 1 )
echo $arr[0]; // 1 通过索引获取元素
$arr1 = array(
0 => "aaa",
1 => "bbb",
2 => "ccc"
);
print_r($arr1); //Array ( [0] => aaa [1] => bbb [2] => ccc )
//关联数组
$arr3 = array(
"name" => "php",
"age" => 18,
"add" => "cq"
);
print_r($arr3); //Array ( [name] => php [age] => 18 [add] => cq )
echo $arr3["name"]; //php 通过key获取对应的value
?>
2、动态创建数组:
<?php
$arr1[] = 1; //自动填充索引
$arr1[] = "aa";
$arr1[] = True;
print_r($arr1); //Array ( [0] => 1 [1] => aa [2] => 1 )
$arr2[2] = 1; //手动指定索引
$arr2[1] = "aaa";
$arr2[0] = True;
print_r($arr2); //Array ( [2] => 1 [1] => aaa [0] => 1 )
$arr3["name"] = "admin"; //动态创建关联数组
$arr3["pwd"] = "123456";
$arr3["age"] = 17;
print_r($arr3); //Array ( [name] => admin [pwd] => 123456 [age] => 17 )
//快速创建索引数组
$arr4 = range(1,10); //通过range()函数,快速生成索引数组
print_r($arr4); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
//快速创建关联数组
$user = "admin"; //通过compact()函数快速生成关联数组
$pwd = "123456";
$addr = "cq";
$arr5 = compact("user","pwd","addr"); //这里注意不要加$符号
print_r($arr5); //Array ( [user] => admin [pwd] => 123456 [addr] => cq )
?>
3、使用数组:增删改查
<?php
$arr = array();
$arr[] = "admin";
$arr[] = 123;
$arr[] = True;
print_r($arr); //Array ( [0] => admin [1] => 123 [2] => 1 )
//增加
$arr[] = "aaa";
$arr["user"] = "admin";
print_r($arr); //Array ( [0] => admin [1] => 123 [2] => 1 ) Array ( [0] => admin [1] => 123 [2] => 1 [3] => aaa [user] => admin )
//删除
unset($arr['user']);
unset($arr[3]);
print_r($arr); //Array ( [0] => admin [1] => 123 [2] => 1 )
//修改
$arr[0] = "admin999";
print_r($arr); //Array ( [0] => admin999 [1] => 123 [2] => 1 )
//查找
echo $arr[0]; //admin999
?>
4、二维数组
<?php
$arr = array
(
array
(
1,2,"admin"
),
array
(
3,4,"pwd"
)
);
print_r($arr); //Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => admin ) [1] => Array ( [0] => 3 [1] => 4 [2] => pwd ) )
echo $arr[0][2]; //admin
$arr1[] = array
(
"name" => "admin",
"pwd" => 123456,
3 => True
);
$arr1[] = array
(
"aaa","bbb",123
);
print_r($arr1); //Array ( [0] => Array ( [name] => admin [pwd] => 123456 [3] => 1 ) [1] => Array ( [0] => aaa [1] => bbb [2] => 123 ) )
echo $arr1[0]['pwd']; //123456
?>
5、通过foreach()函数遍历数组
<?php
$arr = array(1,2,3,"admin",True,"name"=>"admin");
print_r($arr); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => admin [4] => 1 [name] => admin )
foreach($arr as $key=>$value) //一维数组遍历
{
echo $key."===".$value." ";
}; //0===1 1===2 2===3 3===admin 4===1 name===admin
echo "<hr />";
$arr1[] = array(
"name" => "admin",
"pwd" => "123456",
"age" => 19
);
$arr1[] = array(
111,"aaa",True
);
print_r($arr1); //Array ( [0] => Array ( [name] => admin [pwd] => 123456 [age] => 19 ) [1] => Array ( [0] => 111 [1] => aaa [2] => 1 ) )
foreach($arr1 as $key=>$value){
foreach($value as $key1=>$value1){
echo $key1."==".$value1." ";
};
};// name==admin pwd==123456 age==19 0==111 1==aaa 2==1
?>
6、通过数组指针函数遍历数组(不常用)
current($arr) :得到数组当前指针所在元素的键值
key($arr): 得到数组当前指针所在位置元素的键名
next($arr):将数组指针向下移动一位,并且得到数组指针所在位置元素的键值
prev($arr): 将数组指针向上移动一位,并且得到数组指针所在位置元素的键值
end(#arr):将数组指针移动数组末尾,并且返回当前元素的键值
reset($arr): 将数组指针移动到数组的开始,并且返回当前元素的键值
<?php
$arr = array(1,2,3,"admin",True,"name"=>"admin");
print_r($arr); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => admin [4] => 1 [name] => admin )
echo current($arr); //1
echo key($arr); //0
echo next($arr); //2
echo end($arr); //admin
?>
7、通过list和each遍历数组(不常用)
<?php
$arr = array(1,"admin",True,3.14);
print_r($arr); //Array ( [0] => 1 [1] => admin [2] => 1 [3] => 3.14 )
list($arr1,$arr2,$arr3,$arr4)=$arr; //list必须是索引且下标连续的数组
echo $arr1.$arr2.$arr3.$arr4; //1 admin 1 3.14
echo "<hr />"; //rach()函数返回数组中当前的键/值,并将数组指针向下移动一位。
print_r(each($arr)); //Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 )
echo "<hr />";
print_r(each($arr)); //Array ( [1] => admin [value] => admin [0] => 1 [key] => 1 )
?>