PHP填坑
这里记录下最近PHP踩过的坑,很多都是语法性错误
(1)函数结尾忘记加;
例如匿名函数
<?php
$show = function($value){
echo $value."你好";
}
$show("Tony");
?>
写了个匿名函数,正常情况应该输出Tony 你好。但是这里报错,显示
解析错误:语法错误,在第13行的C:\ PHPTutorial \ WWW \ index.php中出现意外的'$ show'(T_VARIABLE)
找了半天才测试出是函数没有加;,而错误提示不能精准地定位到出错行
【总结】①函数先写好形势,加上;②在报错行附近找错误源
(2)函数忘记传参
函数规定了参数后就必须传参,除非参数设定了默认值
(3)提交form表单时,如果action为空,那么就会提交到当前页面
(4)①global后可以跟多个变量,例如global $a,$b,$c等等;②global只能传递变量,不能将其变为全局变量
(5)超全局变量$GLOBALS()不仅可以把变量转为全局变量,还可以进行修改
(6)JAVA,JS,PHP等代码都是从上到下,逐行读取的。PHP里若没有exit函数,则会读取完毕
(7)递归函数:自己调用自己
(8) 参数的数据类型
例如,系统内置函数举例copy()拷贝文件,两个参数必须为字符串
<?php
if(copy('a.txt', 'b.txt')){
echo "复制成功";
}else{
echo "复制成功失败";
}
?>
(9)echo、print、print_r区别
①echo 是语言结构,不是函数或者方法,使用的时候可以不加括号,多用于单行字符串的输出。效率我记得是比print()高。
②print() 也是单行输出,但他是函数,使用时要把字符串做为参数传给print()函数。有些服务端程序用PHP来写的,输出会用到print();而不用echo ; 这个我不太清楚是什么原因……
③print_r () 可以用来遍历并输出数组的函数,我一般是在调试程序的过程中用来查看数组内容的。也可以用来输出单一的字符串。一般只在调试程序过程中使用。程序写好后,要把这东东去掉。
其他解释:
echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出 echo 会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
print 是打印字符串
print_r 则是打印复合类型 如数组 对象
(10)修改php.int配置后无效?
所有配置修改,都需要重启Apache服务器才会生效。
(11)PHP入口文件index.php
(12)PHP除了通过php.int配置参数外,还可以通过ini_get()获取,ini_set()设置参数。不过只能作用在当前文件下
(13)删除和更新MySQL数据时,需要在尾部添加where条件。否则会对整个表单产生影响。
(14)注意:删除重要数据前要备份
.
PHP填坑的更多相关文章
- Android—基于微信开放平台v3SDK,开发微信支付填坑。
接触微信支付之前听说过这是一个坑,,,心里已经有了准备...我以为我没准跳坑出不来了,没有想到我填上了,调用成功之后我感觉公司所有的同事都是漂亮的,隔着北京的大雾霾我仿佛看见了太阳~~~好了,装逼结束 ...
- css 填坑常用代码分享
以下是常用的代码收集,没有任何技术含量,只是填坑的积累.转载请注明出处,谢谢. 因为提交比较麻烦,后来转置github:https://github.com/jsfront/src/blob/mast ...
- 填坑系列:通过ESXi来配置IPMI
近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑. 今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下 ...
- Node学习笔记(四):gulp+express+io.socket部署angularJs2(填坑篇)
这篇就先暂停下上篇博客--你画我猜的进度,因为在做这个游戏的时候,想采用最新的ng2技术,奈何坑是一片又一片,这边就先介绍下环境部署和填坑史 既然要用ng2,首先要拿到资源,我这边用的是angular ...
- 【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程
Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的 ...
- 【填坑向】spoj COT/bzoj2588 Count on a tree
这题是学主席树的时候就想写的,,, 但是当时没写(懒) 现在来填坑 = =日常调半天lca(考虑以后背板) 主席树还是蛮好写的,但是代码出现重复,不太好,导致调试的时候心里没底(虽然事实证明主席树部分 ...
- windows下jenkins常见问题填坑
没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑. 目录 1. 主从节点 2. Nuget自动包还原 3. powershell部署 4 ...
- bootstrap-table填坑之旅<一>认识bootstrap-table
应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...
- 填坑*** WARNING L15: MULTIPLE CALL TO SEGMENT
填坑*** WARNING L15: MULTIPLE CALL TO SEGMENT 警告:发生了重入! 解释:在主循环里调用了一个函数,而在中断服务中又一次调用了同样的函数.当主循环运行到该函数中 ...
- React Native填坑之旅--Stateless组件
Stateless component也叫无状态组件.有三种方法可以创建无状态组件. 坑 一般一个组件是怎么定义的: 很久以前的方法: const Heading = createClass({ re ...
随机推荐
- jmeter获取时间_time 函数
原始时间戳13位精确到毫秒:${__time(,)} 时间戳精确到秒10位:${__time(/1000,)} 时间日期到年月日2019-04-21:${__time(yyyy-MM-dd,)} 时间 ...
- ShadowDOM
HTML5 ShadowDOM & CustomElements KeKeMars 关注 2015.12.09 15:20* 字数 1239 阅读 1626评论 2喜欢 2 Web组件由四部分 ...
- scikit-learn:3. Model selection and evaluation
參考:http://scikit-learn.org/stable/model_selection.html 有待翻译,敬请期待: 3.1. Cross-validation: evaluating ...
- xenserver PXE安装系统错误的解决
刚开始在xenserver里找pxe启动安装系统找了半天,最后在NEW VM里的template里选择other install media 里找到pxe启动,启动之后加载映像,安装到一半又停止了, ...
- HDU 5475An easy problem 离线set/线段树
An easy problem Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 公钥加密,摘要算法MD5,SSH相关概念
1.公钥加密,又叫非对称加密,一般指的是用一组密钥来保证通信的安全.(公钥,私钥)成对存在且惟一,典型的公钥算法有 RSA(计算出的是1024位,128字节),顺便提一下与公钥加密算法相对应的就是传统 ...
- go12---interface
package main /* 接口interface 接口是一个或多个方法签名的集合 只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示 声明实现了哪个接口,这称为 Structural ...
- 自定义Notification实现例子
1.自定义view: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
- Linux系统下 为命令配置别名
1.什么是别名 在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁的输入某个很长命令或用法是不可取的.这时可以使用 别名 功能将这个过程简单化. Li ...
- P2746 [USACO5.3]校园网Network of Schools(Tarjan)
P2746 [USACO5.3]校园网Network of Schools 题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 ...