//if 单分支
//if 双分支
// 双分支语法糖:三元表达式echo $age >=18 ? '成年' : '未成年';
// 多分支语法糖
switch(true){
case $age > 18 :
echo '成年';
break;
case $age < 7 :
echo '幼儿园';
break;
default:
echo '这里是默认';
}
1.
while
2.for
3.forEach
:一般用来数据取值
4.三个关键字:break
:结束循环;continue
:结束本次循环;
5.关联数据建议使用foreach
进行遍历。
6.foreach
遍历中,直接解构一维数组
7.extract()
; 快速解构(隐式解构)
<?php
$data = ['cid' => 1, 'cname' => '新闻360', 'curl' => 'news.php'];
// * 关联数组=>遍历:建议使用 foreach
// ! forEach : 可以遍历任何类型的数组,对象
foreach ($data as $key => $value) {
printf('[%s]=>[%s]<br>', $key, $value);
}
echo '<hr>';
//只关注值
foreach ($data as $value) {
printf('[%s]<br>', $value);
}
echo '<hr>';
//while
// $i = 0;
// while ($i < count($data)) {
// //key():当前数组元素的键;current():当前数据元素的值;
// printf('[%s]=>[%s]<br>', key($data), current($data));
// //下移指针,指向后一个元素
// next($data);
// $i++;
// }
// echo '<hr>';
// reset():重置数组,因为数组指针已经指向了最后一个
// reset($data);
//for
// for ($i = 0; $i < count($data); $i++) {
// //key():当前数组元素的键;current():当前数据元素的值;
// printf('[%s]=>[%s]<br>', key($data), current($data));
// //下移指针,指向后一个元素
// next($data);
// }
// echo '<hr>';
// * while ,for 对于关联数据,非常别扭
//数组查询 => 二维数组
$data = [
['id' => 4, 'title' => '文章标题1', 'url' => 'aaaa'],
['id' => 5, 'title' => '文章标题2', 'url' => 'bbbb'],
['id' => 6, 'title' => '文章标题3', 'url' => 'cccc'],
];
foreach ($data as $value) {
echo print_r($value, true) . '<br>';
// ,true 表示将数组转为字符串,方便拼接后面的 <br>
}
echo '<hr>';
// 不打印第一条
foreach ($data as $key => $value) {
if ($key == 0) {
continue; //结束当前,进入下一轮
//break;结束循环,直接跳出
}
echo print_r($value, true) . '<br>';
// ,true 表示将数组转为字符串,方便拼接后面的 <br>
}
echo '<hr>';
// foreach 遍历中,直接解构一维数组
foreach ($data as list('id' => $id, 'title' => $title, 'url' => $url)) {
printf('%d:%s,%s<br>', $id, $title, $url);
}
echo '<hr>';
// extract(); 快速解构(隐式解构)
foreach ($data as $value) {
extract($value);
printf('%d:%s,%s<br>', $id, $title, $url);
}
<?php
// 流程控制的替换写法: 模板语法
// 为了在与 html 代码混编时,干掉大括号,全用“冒号”代替
if (true) {
echo 'xxx';
} else {
echo 'xxx';
};
// 替换语法
if (true) :
echo 'xxx';
else :
echo 'xxx';
endif;
switch (true):
case 'xxx';
case 'xxx';
default:
'xxx';
endswitch;
while (true) :
endwhile;
for (;;) :
endfor;
foreach($data as $k=>$v):
echo 'xxx';
endforeach;