Blogger Information
Blog 28
fans 0
comment 0
visits 15807
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
2018-08-22变量的类型及转换+变量检测+变量作用域+if判断
阿小的博客
Original
629 people have browsed it

实例

<?php
header("Content-type:text/html;charset=utf-8");
echo '<h3>变量作用域</h3>';
echo '<p>1.全局:在函数之外创建的变量,可在函数外部使用</p>';
echo '<p>2.局部:函数内创建的变量,只能在函数内部使用</p>';
echo '<p>3.静态:函数内部创建,仅在内部使用,并且执行后他的值不消失</p>';

$var1='全局';     //全局变量
//$GLOBAL超全局变量数组,当用户创建一个全局变量的时候,这个变量会自动成为超全局变量数组$GLOBALS数组中
//的一个元素,超全局变量不受作用域限制
//$GLOBALS['var1']='全局';
function myFunc()
{
    $var2='局部';
    global $var1;   //如果要在函数内部使用全局变量,可用global来声明该变量

     //return '我是'.$var1;
     return '我是'.$GLOBALS['var1'];
}
echo '<br>';
//echo $var2;不能输出,因为他是函数内部的局部变量,只能在函数内使用
echo myFunc();
echo '<br>';

function myStatic()
{
    static $num=1;  //静态变量用static声明

    return '第'.$num.'次输出'.$num++;
}
echo myStatic().'<br>';
echo myStatic().'<br>';
echo myStatic().'<br>';

//常量,通常采用大写,不以$开头,制度变量,没有作用域限制,不可修改删除
define('PI',3.1415);
const WEB='PHP.cn';
echo '常量:PI='.PI.'='.constant('PI').'<br>';  //constant()返回常量值
//echo '<pre>';
//print_r(get_defined_constants());     //获取所有常量,返回数组
echo defined('WEB')?true:false;//defined()检测是否被定义
echo '<hr>';

echo '<h3>变量的类型与检测</h3>';
echo '<p>1.基本数据类型:整形int,浮点型float,字符串,布尔值true/false</p>';
$intnum=10;
$floatnum=3.14; //一个中文占3个字节
$str='字符串';
$bol=false;
echo var_dump($intnum),'<br>',var_dump($floatnum),'<br>',var_dump($str),'<br>',var_dump($bol),'<br>';
echo '<p>2.复合类型:数组array,对象object</p>';
$fruit=array('apple','banana','orange','lemon','pear');//索引数组
//$fruit=['apple','banana','orange','lemon','pear'];//目前PHP版本5.3,暂不支持该写法
echo '<pre>';
print_r($fruit);
$course=array('math'=>90,'English'=>'不及格','Chinese'=>'95');     //索引数组 键=>值
echo '<pre>';
print_r($course);

$myObj=new stdClass();  //创建对象new
$myObj->name='PHP';     //给属性赋值
$myObj->grade=80;
var_dump($myObj->name).var_dump($myObj->grade);

echo '<p>3.特殊类型:资源recourse,NULL</p>';
$file=fopen('test.txt','r');//打开文件test.txt,返回类型是资源
echo fread($file,filesize('test.txt'));//filesize()返回文件大小
fclose($file);  //关闭文件
echo '<br>';

$str=NULL;
echo is_null($str) ? '是null':'不是null';   //is_null()判断是否为空
echo '<hr>';

echo '<h3>变量检测</h3>';
$type='123';
echo '"'.$type,'"的类型是',gettype($type),'<br>';  //gettype() 获取当前变量额类型
settype($type,'int');       //强制转换变量类型
echo '用了settype()以后是',gettype($type),'<br>';

echo '<p>is_null(),empty(),isset()的使用</p>';
$price;     //声明未赋值
$var2=null;
$var3='PHP';
unset($var3);
echo @is_null($price)? '声明未定义是null':'不是null';
echo '<br>';
echo is_null($var2)? 'null就是null':'不是null';
echo '<br>';
echo @is_null($var3)? 'unset()销毁后是null':'不是null';
echo '<br>';

echo '<p>empty() 空字符串,空数组,null,0,"0",false都是空,返回1</p>';
$var1='';
$var2=array();
$var3=null;
$var4=0;
$var5='0';
$var6=false;
var_dump(empty($var1)).'<br>';
var_dump(empty($var2)).'<br>';
var_dump(empty($var3)).'<br>';
var_dump(empty($var4)).'<br>';
var_dump(empty($var5)).'<br>';
var_dump(empty($var6)).'<br>';

echo '<p>isset()检测变量是否存在,变量已存在,并且不是null,返回true</p>';
echo isset($var3) ? '$var3存在':'$var3不存在';//变量为null时不存在
echo '<br>';
echo isset($var4) ? '$var4存在':'$var4不存在';
echo '<br>';
echo isset($var7) ? '$var7存在':'$var7不存在';
echo '<hr>';

echo '<h3>if判断语句</h3>';

$grade=90;

if($grade<60){
    echo '<p style="color:red;">您不及格</p>';
}elseif($grade<80){
    echo '<p">您及格了</p>';
}else{
    echo '<p style="color:green;">您很优秀</p>';
}

$num=7;
switch($num){
    case 0:
        echo '零';
        break;
    case 1:
        echo '壹';
        break;
    case 2:
        echo '贰';
        break;
    case 3:
        echo '叁';
        break;
    case 4:
        echo '肆';
        break;
    case 5:
        echo '武';
        break;
    case 6:
        echo '陆';
        break;
    case 7:
        echo '柒';
        break;
    case 8:
        echo '捌';
        break;
    case 9:
        echo '玖';
        break;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post