break,continue,forEach
break:遇到break,循环就直接终止掉
continue:遇到continue,停止本次循环,直接进行下一次循环
<?php
//跳出循环
// for($i=0; $i<10; $i++){
// if($i == 4){
// continue;
// }
// echo $i."<hr/>";
// }
//结束循环
for($i=0; $i<10; $i++){
if($i == 4){
break;
}
echo $i."<hr/>";
}
//forEach :用来遍历数组
$arr = ["北京","上海","广州","深圳"];
//用for循环遍历数组
//获取数组长度
// echo count($arr);
// for($i=0; $i < count($arr); $i++){
// echo "$i => $arr[$i]"."<hr/>";
// }
//推荐使用forEach遍历数组
/*
* forEach(数组 as 值){
* 直接输出使用值}
* forEach(数组 as 键 => 值){
* 使用数组的键和值
* }
*/
// foreach($arr as $value){
// echo $value."<hr/>";
// }
foreach($arr as $i => $value){
echo $i."".$value."<hr/>";
}
?>
函数
一个可以封装复用的代码段
<?php
/*
* function 函数名{
* 执行代码段
* 返回值
* }
* 注意php的函数名不区分大小写
* php函数有默认值(在没有传递参数时,也能使用某个值进行运算,这个值就称为默认值)
* php函数也可以进行引用传参,将函数变量与函数内部的计算关联起来
*/
// function show(){
// echo "show show";
// }
show();
//SHOW();
//定义一个参数,参数有a和b,函数功能输出a和b的和
//function total($a,$b){
// echo$a + $b;
//}
//total(10e2,10);
//定义一个参数,参数有a和b,函数功能是返回a和b的和
//function total($a,$b){
// return $a + $b;
//}
//$sum = total(10e2,10);
//echo $sum;//210
//函数默认值:在没有传参是,取默认值,有参数,就取参数值
function total($a,$b=10){
echo $a + $b;
}
//total(10);
total(10, "123abc");//133
//引用传参
function test(&$a,$b){
$a += $b;
}
$a = 6;
test($a,10);
echo $a;//16
?>
作用域
<?php
/*
* 由于函数的存在,函数内部是一个独立的空间,这个空间就称为函数的局部作用域
* 除了函数以外的空间,就称为全局作用域
* 由于作用域不同,将变量分为:全局变量和局部变量
* 全局变量:定义在全局作用域的变量
* 局部变量:定义在局部作用域的变量
*/
// $a = 10;
// function fn(){
// echo $a;
// }
// fn();//error
//如何在局部作用域里使用全局变量
// $a = 10;
// function fn($a){
// echo $a;
// }
// fn($a);//error
//方法1:使用超全局变量$GLOBALS
$a = 10;
// function fn(){
// $GLOBALS['a'];
// }
// fn();//10
//方法2:传参
// function fn($test){
// echo $test;
// }
// fn($a);//10
//方法3:使用关键字 global
// function fn(){
// global $a;//声明所有的全局变量a
// echo $a;
// }
// fn();
//局部变量:声明周期,从声明开始,到函数结束
//function fn(){
// $b = "hello world";
// $b .=" hhhhh";
//}
//echo $b;//Error
//如何保存局部变量使其不在函数结束时清除
//js里使用闭包
//php里使用关键字static
//这中变量称为静态变量
//function fn(){
// $i = 0;
// $i++;
// echo $i."<hr/>";
//}
//fn();//1
//fn();//1
//fn();//1
//function a(&$a){
// $a*=10;
//}
//$b = 10;
//a($b);
//echo $b;//100
//function fn(){
// static $i = 0;
// $i++;
// echo $i."<hr/>";
//}
//fn();//1
//fn();//2
//fn();//3
$a = 10;
$b = 100;
$c = 15;
function test(){
global $c;//申明为全局变量
static $d = 25;
$GLOBALS["a"] +=$GLOBALS["b"] + $GLOBALS["c"];
$d += $c;
echo $GLOBALS["a"]." ";
echo $d;
}
test();
test();
?>
include,require
<?php
/*
* 伪类方便快捷的开发以及提高代码复用和代码维护性,往往会将一些复用的代码放在单独的文件上面,然后在需要的时候导入进来使用、
* 导入文件方法;
* include
* include_once
* require
* require_once
* 区别:带once只有导入第一次是生效的
* 带require的会在所导入文件出错时报错,并阻止下面的代码的运行
* 带include的仅会在所导入文件出错时报警,不影响下面无关代码的指向
* @:御制符。在某行出错时,可以使用其阻止报警告
*/
// include "head.html";
// echo "cxxxxxx";
// include "foot.html";
require "test.php";
echo $a;
?>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<?php require "head.html"?>
<strong>啊哈哈哈哈哈哈哈</strong>
<?php require_once "foot.html"?>
</body>
</html>
array
<?php
//数组
/*
* 用于存储多个键值对组合的有序集合
* 索引数组和关联数组
* 索引数组:下表为数字的数组
* 关联数组:下标为字符串
*/
//创建方法一:array函数创建
//索引数组
// $arr = array("北京","上海","广州","深圳");
// echo "<pre>";
// print_r($arr);
// echo "</pre>";
//关联数组
//$arr = array("魅力之都" => "上海","火炉城市" => "重庆","梦幻花城" =>"广州");
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
//echo $arr["火炉城市"];
//方法二:字面量
//$arr["魅力之都"] = "上海";
//$arr["火炉城市"] = "重庆";
//$arr["梦幻花城"] = "广州";
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
//方法三:range函数生成索引数组
//$arr = range(1,10);
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
$arr = range("A","a");
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
//数组常用的函数:print_r\count\unset\in_array
//if(in_array("Z", $arr)){
// echo "在数组中";
//}else{
// echo "不在数组中";
//}
//数组和字符串(具有明显分割符)的转换与(js中的join,split)
//implode:将数组以间隔符拼接成字符串
//$arr = [1,2,3,4];
//$str = implode("=", $arr);
//echo $str;
//explode:将字符串以分隔符分成数组的每一项
//$str = "1/2/3/4/5/6";
//$arr = explode(("/"), $str);
//print_r($arr);
//数组排序
/*
* sort,rsort:索引数组的排序,前者为升序,后者为降序
* ksort,krsort:关联数组的排序,前者为升序,后者为降序
* asort,arsort:关联数组的值排序,与上同
*
*/
// $arr = ["orange","apple","bananer","oa"];
// rsort($arr);
// echo "<pre>";
// print_r($arr);
// echo "</pre>";
//$arr = array("a" => "english","c" => "chinese","b" => "French");
//ksort($arr);
//echo "<pre>";
//print_r($arr);
//echo "</pre>";
//用一个数组分别展示两个人的信息
/*
* 第一个:名字是张三,年龄20,性别:男
* 第二个:李四 33 女
*/
$arr = array(
array("name" => "张三","age" => 29,"sex" => "男"),
array("name" =>"李四","age" => 33,"sex" => "女")
);
// echo "<pre>";
// print_r($arr);
// echo "</pre>";
//遍历数组,并输出每个人的名字
foreach($arr as $value){
foreach($value as $k => $v){
echo $k."=>".$v."<hr/>";
}
}
/*
* => 一般用于数组的 键=>值
*
* -> 一般用于对象的 对象->对象属性 和 对象->对象方法
*/
?>