位置: 编程技术 - 正文

PHP的基本常识小结(php的总结)

编辑:rootadmin

这些PHP的概念,有些刚开始比较难懂,很难理解,我把他们都列出来,希望能帮助一些人,在前进的路上少点荆棘。

1. variable variables(变量的变量)

variable_variables.php

$a = 'hello';

将hello 赋值给 变量 $a, 于是 $$a = ${hello} = $hello = 'hello everyone';

如果对于 $$students[1], 这样会产生混乱,php的解释器可能无法理解,‘[' 虽然有较高运算符,但结果可能无法输出。

好的写法是:${$students[1]} = ‘Mary';

2. array's function(数组函数)

array_functions.php

更多数组函数参考

3. dates and times (时间和日期) 有3种方法可以创建一个unix time(从/1/1 到现在的秒数) time(); 返回当前的时间戳 mktime($hr, $min, $sec, $month, $day, $year); mktime(6,,0,5,,) 返回 5/ 6:: 的时间戳 strtotime($string); strtotime("+1 day") 返回明天这个时候的时间戳 更多 'last Monday' 'lasy Year' checkdate($month, $day, $year); 验证一个日期是否为真 checkdate(5,,) ? 'true' : 'false'; // return false 得到了时间戳后,我们需要对它进行转化为可读的,如/5/ 我们有2种方法 date($format, $timestamp) ; strftime($format [,$timestamp]) 推荐用第2种,strftime("%Y-%m-%d %H:%M:%S"); // return -- ::

更多时间日期参考

5. server variables (服务器和执行环境信息) $_SERVER server_variables.php

更多详细信息

6.variable_scope(变量的作用域 global static)

static_variables.php

test() 函数中的变量 $a 没有保存 $a++ 的结果 , 重复调用test() 并没有使 $a 的值增加

而test1() 函数中 变量 $a 申明了 staic $a = 0, 为静态变量。

引用:A static variable exists only in a local function scope, but it does not lose its value when program execution leaves this scope.

一个静态变量 只能存在于本地的函数作用域内 也就是test1() 函数体内, 但是当程序离开这个test1() 作用域时,静态变量不会失去它的值,也就是 $a 变量会增加 1; 当重新调用 test1() 时,$a = 1;

global_variables.php

引用:In PHP global variables must be declared global inside a function if they are going to be used in that function

如果这些变量将在函数中使用,全局变量必须在使用的那个函数中进行定义。 这样可以避免很多麻烦。

更多详细信息7.reference(引用) variable_reference.php 这个概念可以这样理解,我妈叫我明明,但是我的领导会叫我小言;不管是明明或者是小言,都是我。 '&' 而这个就是不同的人叫我们的别名的方法 即引用,相当于 $a = {我,或者内存中的值} , $b = {领导,妈妈,或者变量} 通过 & , $b指向了$a 在内存中唯一也是相同的值。 所以不管你领导叫你什么,或者你妈叫你什么,你都是你。只是称呼不同。 所以通过引用后, 我们改变$b的值,同时也改变了$a的值。 8. pass reference variable to function(传递引用参数给函数) 当我们按引用传递参数给函数时,我们传递地不是变量的副本(copy) ,而是真实的值, 所以当我们调用函数ref_test($a)的时候已经改变了 $a 的值, 所以最后 $a = ; 9. reference function return value(引用函数的返回值) reference_function_return_value.php 首先申明一个引用函数,在函数体内,申明一个静态变量 $var, 可以保存增加的值; $a =& increment(); 这条语句是 变量$a 引用 函数increment() 的返回值, 和前面的引用变量一样, 你可以把increment()函数, 看作是一个变量; 这样就变为 $a = & $b; 所以increment() 和 $a 都指向同一个值,改变任何一个,都能改变同一个值。更多详细信息对象 OOP

1.Fatal error: Using $this when not in object context

这个错误刚学 OOP 肯定容易出现,因为有个概念你没有真正理解。 类的可访问性(accessible),也可以说是作用域, 你还可以认为是 1个 中国人 在国外,他不属于哪个文化,他不讲外语(可能他知道点);但是他无法通过自己跟老外沟通,因为他们不是在一个共同国度出生。那么错误是如何发生的呢?看下面的例子:

这个错误很经典, 也很实用,先看 static 的定义:

Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as static can not be accessed with an instantiated class object (though a static method can).

翻译:定义一个类的属性或方法为静态时,可以使他们在不需要初始化一个类时就能直接访问 。一个被定义为了静态的属性不能被类的对象用对象操作符访问* -> *,(可以通过静态的方法访问)。

例子说明:7行 行 犯了同一个错误,第一个是用对象操作符来访问静态变量。你看看定义,$this 是一个伪变量 相当于 object,一个实例。你用对象操作符 -> 访问就会报错。

同样你也不能用 静态操作符 :: 来访问一个公共变量 。 正确的访问应该是 行 行,一个是在类的定义里访问(self:: === Trones::),一个是在类的外部访问。

对于继承类,以上的规则同样适合。

2.Fatal error: Call to private method

最近有部连续剧很好看,叫权利的游戏,我们假设有 3方人马, 7个国王, 平民, 龙女。 他们三方人马在下面争夺最终的胜利, 也就是王冠。

下面的故事还有一个标题:类的可见性(visibility) 你如果知道最终的答案,解释部分你可以略过了。

正确答案是:7国征战 内斗,平民死伤无数,龙女想乘机渔翁得利;可惜 最终谁也没有得到皇冠和胜利。哈哈。

当static 碰到 private ,结合产生复杂,也产生美;就像抽象的人,像我们大学老师讲的数学课;(不过网易的公开数学课很好)

如果想要龙女 获得最后的胜利, 你只要帮她一把 将行的 $this->getFire() 这部分去掉就可以了。同样的道理 你无法在一个静态函数里 使用任何对象操作符。

怎么使人民获得王冠呢? 你去奋斗吧!

如果你不构建大型的框架和网站 这些概念比如 Interface Implement abstract 。。。 你还是不知道的好。

标签: php的总结

本文链接地址:https://www.jiuchutong.com/biancheng/278576.html 转载请保留说明!

上一篇:php数组声明、遍历、数组全局变量使用小结(php数组可以使用哪些键名)

下一篇:测试PHP连接MYSQL成功与否的代码(php连接mysql查询数据)

  • 小规模结转增值税会计科目有哪些
  • 实收资本印花税是一年一交吗
  • 工业企业应缴纳的税金有哪些
  • 初税亩是什么意思
  • 进项税额不允许抵扣怎么计算
  • 未分配利润转增股本会计处理
  • 工程结算属于什么行业
  • 短期借款现金流
  • 滴滴发票抬头怎么填
  • 金蝶未结账是否可以重新起账
  • 发票入不了账怎么办
  • 独立核算分公司注销与总公司账务
  • 收到合同款
  • 押金是为了什么
  • 出售报废电脑要交什么税
  • 土地平整费计入什么科目
  • 出口退税免退税
  • 琥珀销售用语
  • 原始凭证的审核内容
  • 个体工商户给员工交社保属于职工社保吗
  • 社会保险中的五险一金
  • 赠与合同公证收费标准
  • 公司帮人代缴社保怎么做账
  • win11如何
  • phpstudy的ftp
  • 有形动产增值税税率是多少
  • 会计购入材料入什么科目
  • 前端跨域解决方案设计
  • 瑞吉接送
  • yii2框架从入门到精通
  • 遍历目录文件
  • 哪些项目可以在城镇开发边界外
  • 个体工商户能享受4050政策吗
  • 不动产租赁需要资质吗
  • 股权转让需要开票吗怎么开
  • 承兑汇票上能手写名字吗
  • mysql 锁详解
  • MySQL创建数据库语句
  • 销售净收入是怎么算
  • 自然灾害的原因有哪些
  • 发票开错没有作废可以红字冲销吗?
  • 农产品收购进项税抵扣会计分录
  • 查定征收和查验征收怎么区分
  • 股权转让溢价
  • 建安企业无收入证明模板
  • 加计扣除10%进项税政策文件
  • 支付个人运费没有发票怎么办
  • 认购股份的形式主要有
  • 工程公司存货包括哪些科目
  • 补价占整个交易金额的比例
  • 税务局代开发票作废可以申请退税吗?
  • 税金及附加科目借贷方向
  • OBJECTPROPERTY与sp_rename更改对象名称的介绍
  • 储存扩展容量
  • mysql解压版怎么使用
  • win7怎么看
  • windowssystem32configsystem 损坏
  • windows如何禁止访问某ip地址
  • 装win10没有版本选择提示
  • win10本地连接怎么改名称
  • 双系统怎么屏蔽另一个磁盘
  • opengl获取鼠标位置
  • jquery常用
  • jquery 控制暂停和播放
  • Android - Designtime Layout Attributes & Tools Attributes
  • ubuntu与centos命令区别
  • 物理引擎演示
  • JavaScript window.document的属性、方法和事件小结
  • javascript总结笔记
  • js禁用键盘事件
  • 如何用python编写脚本
  • win10安装python2.7
  • 税务相关文件
  • 纳税人被列入非正常户超过三个月的情况
  • 地税局公务员工资多少
  • 个人非住房房屋怎么交税
  • 计财科科长是什么级别
  • 辽宁网上税务
  • 航信报税
  • 本期应纳的增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设