Blogger Information
Blog 12
fans 0
comment 0
visits 7826
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量的作用域及类型检测,分支的结构案例 2018-08-22
Jimi的博客
Original
697 people have browsed it

三种作用域:

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


实例

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

运行实例 »

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


Correction status:qualified

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