博客列表 >变量的作用域及类型检测,分支的结构案例 2018-08-22

变量的作用域及类型检测,分支的结构案例 2018-08-22

Jimi的博客
Jimi的博客原创
2018年08月27日 08:59:34698浏览

三种作用域:

全局, 在函数之外创建的变量,可在函数外部直接使用
局部,函数内部创建的变量,仅限在函数内部使用
静态,函数内部创建,仅在内部使用并且函数执行后他的值不消失


实例

<?php
/**
 * Created by PhpStorm.
 * User: mac
 * Date: 18/8/24
 * Time: 下午1:17
 */


//2. 编程: 变量的类型与检测
//3. 编程: 分支结构的实例

$age = 30;//interger
$salary = 3560.88; // float
$name = 'junge'; //string
$isMarried = true;// Boolean
//echo  $name.'的年龄是:'.$age.'工资是:'.$salary.'是否已婚:'.$isMarried.'<hr>';
//echo  $name,'的<span style="color: indianred;">年龄</span>是:',$age.'工资是:',$salary.'是否已婚:',$isMarried,'<hr>';

$book = ['php','mysql','html','css','javascript']; //Array
echo '<pre>';

$student = new stdClass();// object
$student->name = '均无敌';
$student->course = 'php';
$student->grade = '88';

//var_dump($student);
//var_dump($student->name);
//echo  $student->name,'<br>';

$file =  fopen('test.txt','r') or die('打开失败');//fopen打开文件
echo fread($file,filesize('test.txt')); //fread读取文件
//fclose($file);关闭一个打开文件
$price =null;
echo '$price is'.$price;
echo '<br>';

echo is_null($price)?'是null':'不是null';
//变量检测
//gettype()
echo '<br>',gettype($file),'<hr>'; //resource

//设置类型
$price = 124.99;
settype($price,'string');
echo $price,'<hr>';
echo gettype($price);


?>

运行实例 »

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

实例

<?php
//is_null(),empty(),isset()


//is_null()
$val1; //声明但未赋值
$val2 = null; //声明并初始化
$val3 = 'php';
unset($val3);
@var_dump(is_null($val1) ? true : false);
@var_dump(is_null($val2) ? true : false);
@var_dump(is_null($val3) ? true : false);

//empty()
//空字符串,空数组,null,0 / '0' / false 返回 true

$str1 = '';
$str2 = [];
$str3 = 0;
$str4 = '0';
echo '<hr>';
@var_dump(empty($str1) ? true : false);
@var_dump(empty($str2) ? true : false);
@var_dump(empty($str3) ? true : false);
@var_dump(empty($str4) ? true : false);

//isset():检测一个变量是否存在?是 null 反操作
//变量已经存在,并且它的值不是null 返回true
echo '<hr>';
$a = null;
var_dump(isset($a));
$b = 'jun';
var_dump(isset($b));
$c; //等价于 $c = null
var_dump(isset($c));

运行实例 »

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

实例

<?php
echo '<h3>变量作用域</h3>';
echo '<hr color="blue">';


$siteName = 'PHP中文网';//全局变量
//当用户定义一个全局变量的时候 这个变量同时也自动成为超全局变量数组$GLOBALS的一个元素
//$GLOBALS['siteName'] = 'php中文网';
//超全局变量不受作用域限制
//PHP中函数的声明使用关键字:function 函数名(参数列表,用逗号分开){多条语句}
//创建一个函数,意味着创建出一个作用域,环境执行
//函数中的执行结果用return 返回给调用者
function hello()
{
//    global  $siteName;
    $useName = 'jun wudi'; //局部变量

//    return $useName.'是'.$siteName.'的讲师';
    return $useName.'是'.$GLOBALS['siteName'].'的讲师';


}

echo '<h3>',hello(),'</h3>';


echo '<hr color="red">';
function myStatic()
{
    static $num = 1;
    return '第'.$num.'次输出'.$num++.'<br>';
}

echo  myStatic(),'<br>';
echo  myStatic(),'<br>';
echo  myStatic(),'<br>';
echo  myStatic(),'<br>';
echo  myStatic(),'<br>';

运行实例 »

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

实例

<?php
/**
常量:只读变量,不可更新,不可删除,没有作用域限制,直接在函数中使用而不用声明
 * 通常常量全部采用大写字母,并且不能以$开头,多个单词建议中间用下划线链接
 */
echo '<h3>常量声明,赋值,输出</h3>';
echo '<hr color="green">';
//创建
define('SITE_NAME','JUNWUDI的博客'); //define()函数
const  COUNTRY = "中国";//关键字const

//访问
echo SITE_NAME,COUNTRY,'<BR>';
echo constant('SITE_NAME'),'<br>';

//检测
echo defined('SITE_NAME')?'已定义':'<span style="color:red">为定义</span>';

运行实例 »

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

实例

<?php
/**
 数组
 */
echo '<h3>数组的创建访问与更新</h3>';
echo '<hr color="green">';

//创建
$city = ['合肥','上海','杭州','南京'];  //索引数组
echo $city[0],'<br>';
echo $city[3],'<br>';


//键值对
$user = ['id'=>10,'name'=>'军无敌','course'=>'PHP','grade'=>'89']; //关联数组
echo $user['name'],'<br>';
echo $user['grade'],'<br>';

//更新
$user['name'] = '么么哒';
echo $user['name'],'<br>';


//删除
//unset($user['grade']);
unset($user);
echo '<pre>',print_r($user,true);

运行实例 »

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

实例

<?php
/*流程控制:条件判断与多分支 */

//单分支
$grade = 55;
if ($grade < 60){
    echo '<p style ="color: red;">很不幸,您得补考</p>';
}

//双分支
$grade = 75;
if ($grade < 60){
    echo '<p style="color:red">很不幸,您得补考</p>';
}else{
    echo '<p style="color:green">恭喜,及格了</p>';
}

//多分支
$grade = 85;
if ($grade <60){
    echo '<p style="color: indianred">很不幸,您的补考</p>';
}else if ($grade >= 60&&$grade < 80){
    echo '<p style="color: green">考得还不错</p>';
}else if ($grade >=80 && $grade <=100){
    echo '<p style="color: green">你TM的,是个天才</p>';
}

//4.三元判断:双分一个简写
$age = 30;
echo  ($age >= 18) ? '<script>alert("已成年,可以浏览但不可沉迷其中")</script>':'<p style="color: indianred">未成年,请自觉离开</p>';

// 5 switch
$program = 'Java';
switch (strtolower($program)){
    case 'php':
        echo '<p>php是全世界最好的编程语言~~</p>';
        break;
    case 'java':
        echo '<p>通用的编程语言~~</p>';
        break;
    case 'html':
        echo '<p>超文本标记语言~~</p>';
        break;
    default:
        echo '<p>你关心的语言未收录~~</p>';

}

运行实例 »

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

实例

<?php
/*循环结构:for
 */
for ($i=0; $i<10; $i++){
//    print($i.',');
//    print ($i);
//    if ($i<9){
//        print (',');
//    }
    $i<9 ? print ($i.','): print ($i);
}

运行实例 »

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


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