博客列表 >2018-08-22变量的类型及转换+变量检测+变量作用域+if判断

2018-08-22变量的类型及转换+变量检测+变量作用域+if判断

阿小的博客
阿小的博客原创
2018年08月25日 17:00:58628浏览

实例

<?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;
}

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议