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 ...
随机推荐
- 利用SEH进行代码混淆
这几天在重看SEH机制,收获颇丰. 随手写了一个用SEH进行跳转的代码贴于此处以作纪念. 当发生异常,并捕捉了异常.在OS的异常处理机制下.会进入异常过滤函数. 过滤函数能够返回EXCEPTION_E ...
- Write a program that gives count of common characters presented in an array of strings..(or array of
转自出处 Write a program that gives count of common characters presented in an array of strings..(or arr ...
- Android系统优化
这些事实上就是优化rom 的一些实用小技巧. 认为非常多还是实用的. Build.prop (编辑 /system/build.prop 文件(须要root, 能够用文件管理器或者其它root exp ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] D "Or" Game 枚举+前缀后缀
D. "Or" Game ...
- 在js中取选中的radio值
在js中取选中的radio值 <input type="radio" name="address" value="0" /> & ...
- [RK3288][Android6.0] 系统按键驱动流程分析【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/77894406 Rockchip的按键驱动位于 kernel/drivers/input/ke ...
- 电脑的系统盘只有10G了
软件也是缓存多了,准备把一些让家人卸载,昨天开始布置培训任务就是有一个电报的程序,把流程说了下,从今天开始就会指导,错误点分析.
- oracle10G 数据库名、实例名、ORACLE_SID 及创建数据库- hl3292转载修改(实践部分待校验)
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- MSD3458开发资料
MSD3458HB是mstar最新推出的普通4K数字电视解决方案,不带操作系统,是一个低成本的4K方案,156脚的LQFP普通封装,开发难度低,支持HDMI2.0输入,支持4K输出.1. Suppor ...
- bzoj4443
二分+二分图匹配 晚上脑子不太好使... 行列模型,填充数量性质,种种迹象告诉我们这是二分图,但是我觉得好像不太科学就弃了网络流... 二分第k大值,转化为求第n-k+1小值,二分求匹配判定即可. # ...