热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1月3日作业:PHP变量的创建方式与类型

1.php中的变量

1.php中的变量

1.1变量的作用


  • 变量实现了数据的复用(函数实现了代码的复用)
  • php变量使用前不需要声明,直接赋值就可以了
  • php的变量与普通的标识符是不一样的,必须要用$开头
  • php的变量名称的命名规范:

    • 必须满足php标识符的命名规范
    • 变量名严格区分大小写

  • php标识符命名规范:只允许使用字母,数字,下划线,且不能以数字开头
  • 预定义变量通常可以反映程序的转台,例如服务器变量,请求变量,不收作用域限制
  • 下面是变量定义的实例:

  1. php
  2. //自定义变量
  3. //合法
  4. $username = 'admin';
  5. $userName = 'oyster';
  6. $_salary = 1000000;
  7. //区分大小写
  8. echo $username,'
    '
    , $userName, '
    '
    ,$_salary, '
    '
    ;
  9. //非法
  10. //$9a = 100;
  11. //echo $9a;
  12. //特殊字符非法
  13. //$email#*abc = 'a@qq.com';
  14. //echo $email#*abc;
  15. //预定义变量
  16. echo '脚本名称:' . $_SERVER['SCRIPT_NAME'].'
    '
    ;
  17. echo '浏览器:' .$_SERVER['HTTP_USER_AGENT']. '
    '
    ;
  18. echo '服务器:' .$_SERVER['SERVER_SOFTWARE']. '
    '
    ;
  19. echo '获取GET请求参数:' . $_GET['id'];


1.2 变量类型


  • php是弱类型语言,变量的类型由它的值来确定
  • 变量的类型,根据存储方式,分为三类:原始类型,复合类型,特殊类型。

原始类型


  • 数值: 100,3.14,,-9.78
  • 字符串: 'admin',"php.cn",需要用单引号或者双引号作为定界符进行封装
  • 布尔型: 只有真假两个值true | false,通常在逻辑判断中

复合类型


  • 二种:数组对象


  • 数组


  • 数组中的元素必须使用特殊的语法进行访问:变量名+键名,$arr[2],$user['id']
  • 如果键名是数值,称为索引数组,如果键名是连续的正整数,可以省略键名
  • 如果是字符串,称为关联数组


  • 对象


  • 对象是由new指令,调用一个称为构造函数的一个特殊函数创建,或者实例化一个来创建
  • 对象的成员称之为属性或者方法,使用变量名+成员指向符
  • $obj->table,或者$obj->getEmail()

特殊类型


  • 所谓特殊,是指它的指比较特殊,通常不会参与到运算中,或者运算结果没有意义
  • 特殊类型有两种: null,resource资源类型
  • null:称为空类型,当一个变量没有初始化的时候,默认就是null
  • resource资源类型,例如一个文件,一张图片,一个数据库的链接

类型转换


  • 查询:gettype($data)
  • 设置:settype($data,'string'),这是永久性的
  • 强制:intval($data)转为整形,strval($data)转为字符串,临时性转换
  • 判断:is_int(),is_string(),is_array(),is_object(),is_null()
  • 自动:

  1. //双等号两边类型不一致,会发生自动转换
  2. if(true==1)
  3. {
  4. echo '发生了类型自动转换';
  5. }
  6. //使用全等判断,两边值相等,类型也要相等才能比较成功
  7. if(true===1)
  8. {
  9. echo '发生了类型自动转换';
  10. }else{
  11. echo '没发生';
  12. }

推荐阅读
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
author-avatar
月亮哥哥是团宠他男人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有