<?php //设置字符集 header("content-type:text/html;charset=utf-8"); //常量定义,不可改变,不可删除 define('HERE_SITE','www.php.cn'); const CITY = '西安'; echo HERE_SITE; echo CITY; ?>
点击 "运行实例" 按钮查看在线实例
什么是变量的作用域?
变量的作用域:变量可以使用的代码的范围
1.局部变量:仅作用于方法(function)中使用,方法外此变量不可被使用或者引用
<?php function get_user_name() { $id = 1; if($id == 1){ return "luo"; }else{ return "zhu"; } } /* echo get_user_name();会正确输出luo,说明我们的$id变量在函数内部起作用 echo $id;如果此时输出$id会提示你此变量未被定义:说明我们在函数中定义的变量,外部不可调用 */ echo get_user_name(); ?>
点击 "运行实例" 按钮查看在线实例
2.全局变量:方法function外定义的变量,作用于全局作用域
当前文件除过方法内都可生效,其他文件需要引用的话,需要include 或者requiire包含当前文件。
<?php $user_id =1 ; function get_user_name_one() { global $user_id ;//声明$id为全局变量 if($user_id == 1){ return "luo"; }else{ return "zhu"; } } /*如果此时在方法里声明$id为全局变量在方法里就可以使用 此时echo get_user_name_one();调用方法也是可以正确执行的 输出echo $user_id;也是有结果的 */ echo get_user_name_one(),'<br>'; echo $id; ?>
点击 "运行实例" 按钮查看在线实例
3.超全局变量:如$_POST,$GLOBLES[],$SESSION,$FILE在根目录下的所有文件均可引用
<?php $GLOBALS['name'] = '警长'; function print_name() { return "我是".$GLOBALS['name'] ; } echo print_name(); ?>
点击 "运行实例" 按钮查看在线实例
4.静态变量:static只在当前函数中使用,保持变量不被销毁
<?php function num() { static $i= 1; return "第".$i."次输出".$i++; } echo num(),'<br>'; echo num(),'<br>'; echo num(),'<br>'; echo num(),'<br>'; echo num(),'<br>'; ?>
点击 "运行实例" 按钮查看在线实例
/*变量类型:*/ /*变量类型: 1.标量:单值变量,数值,布尔,基本数据类型 */ <?php $city = "西安"; $float = 400.00; $int = 10000; $bool = false; echo '我调查'.$city.'总人口约'.$float.'万,平均工资'.$int.'元--调查结果:',$bool?'正确':'错误'; echo '<hr>'; ?>
点击 "运行实例" 按钮查看在线实例
/*变量类型:
2.复合类型:多值变量(数组array和对象object)
*/
$arr = array("0","1","2","3");
for($i=0;$i<count($arr);$i++){
echo $arr[$i],'<br>';
}
echo '<hr>';
$arr1 = array(
array('id'=>'1','name'=>'luopan','sex'=>'nan'),
array('id'=>'2','name'=>'zhangsan','sex'=>'nv')
);
foreach($arr1 as $k=>$v){
echo '用户ID :'.$v['id'],'<br>';
echo '用户姓名:'.$v['name'],'<br>';
echo '用户性别:'.$v['sex'],'<br>';
}
echo '<hr>';
class frui_use{
public $type;
public $price;
public $usage;
public function eat(){
return $this->type.'吃法是'.$this->usage;
}
public function price(){
return $this->type.'价格是'.$this->price."元";
}
}
$fruit = new frui_use;
$fruit->type = "苹果";
$fruit->price = 20;
$fruit->usage ="削皮";
echo $fruit->eat( );
echo '<hr>';
echo $fruit->price( );
echo '<hr>';
/*变量类型:
3.特殊类型:null,资源
*/
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "第一行\n";
fwrite($myfile, $txt);
$txt = "第二行\n";
fwrite($myfile, $txt);
fclose($myfile);
/*变量检测:
is_null(); 如果变量定义未被赋值,赋null值,被销毁返回ture
empty(); 如果变量为null,"",0,"0",空数组
isset(); empty结果取反
*/
$var ;
$var1 = null ;
$var2 = "pjj";
$var3 = "ok";
unset($var2);
@var_dump(is_null($var));
@var_dump(is_null($var1));
@var_dump(is_null($var2));
@var_dump(is_null($var3));
echo '<hr>';
$str = null;
$str1 = "";
$str2 = 0;
$str3 = "0";
$str4 = array();
@var_dump(empty($str));
@var_dump(empty($str1));
@var_dump(empty($str2));
@var_dump(empty($str3));
@var_dump(empty($str4));
echo '<hr>';
$number= null;
@var_dump(isset($numbers));
echo '<hr>';
/*
分支结构
*/
/*1.if-else if-else*/
$age=22;
if($age<18){
echo "你是一个小孩!";
}else if($age>=18 &&$age<60){
echo "你是一个成年人!";
}else{
echo "你是一个老年人!";
}
echo '<hr>';
/*2.switch*/
$pilotLamp = 20;
switch($pilotLamp){
case 0 :
echo "红灯亮了,停下来!";
break;
case 1 :
echo "绿灯灯亮了,赶紧走!";
break;
case 2 :
echo "黄灯灯亮了,等一下!";
break;
default: echo "指示灯坏了!";
}