Welcome 微信登录

首页 / 网页编程 / PHP

浅析php变量作用域的一些问题

浅析php变量作用域的一些问题

昨晚就与到这么一个问题,是全局变量在函数中的问题。今天搜索了一下,发现一篇相当不错的文章,讲了php中的变量作用域。是一位网友翻译的在这贴一下:变量范围变量的范围即它定义的上下文背景(译者:说白了,也就是它的生效范围)。大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件。范例:复制代码 代码如下:<?php$a = 1;include "b.inc";?> 这里变量 $a 将会...
PHP中怎样保持SESSION不过期 原理及方案介绍

PHP中怎样保持SESSION不过期 原理及方案介绍

PHP中如何保持SESSION以及由此引发的一些思考 最近的一个项目,里面有一个比较大的表单,用户完成它需要很多时间,很多用户花了千辛万苦完成之后,一提交发现SESSION过期,系统退出了,所以引起了研究如何设置SESSION以及保持SESSION在线的需要,下面是一些心得体会。什么是SESSION?按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效。常见的SESSION有:TCP SESSION、WE...
解析isset与is_null的区别

解析isset与is_null的区别

isset和is_null啥区别,看手册上讲的话, isset和is_null的功能几乎完全”相反的一样”..是不是isset就是一个is_null的相反的别名?诶, 要说区别, 那还真的是很多~一切的不同都是因为: is_null是函数, isset是语句.isset是语句, 和echo, print一样, 是PHP本身的一种语言结构.而is_null是函数, 和我们一般的函数一样, 可以做为可变函数调用.你也许会说, 好了,好了,我知道函数和语句的区别...
分割GBK中文遭遇乱码的解决方法

分割GBK中文遭遇乱码的解决方法

类似如下的字符串(GBK), explode不能得到正确结果:1.$result = explode("|", "滕华弢|海青"); 究其原因, 对于”弢”字(读tao,不认识没关系,我也不认识), 因为他的GBK编码值为: 8f7c, 不巧的是, “|”的ASCII值也是7c.这样的问题, 还有很多 : 因为GBK编码的编码范围是: 0×8140-0xfefe, 所以, 理论上来说, 任何低字节是7c的字都会有这个问题, 比如:1.倈(827c), 億(...
php防注入及开发安全详细解析

php防注入及开发安全详细解析

1、PHP注入的基本原理程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据 库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统. SQL注入过程 正常来讲,我们通过地址接收一些必要的参数如:页面中我们会使用 2 写入到SQL语句中正常情况:Selec...
解析数组非数字键名引号的必要性

解析数组非数字键名引号的必要性

我看到过很多人操作数组的时候, 对于数组中的非数字键名不使用引号复制代码 代码如下:$array[key] = $value;我可以理解有些人可能会觉得这样的代码很”整洁”, 并且也能正常执行.更甚至,如果他很”幸运的”php配置的好:复制代码 代码如下:error_reporting = ~E_NOTIC他也许永远都沉浸在自己的”整洁”风格中, 看不到任何的NOTICE提示, 也不会意识到, 他这么做, 能损失多少的性能~来, 我们一起来看看:good....
php接口与接口引用的深入解析

php接口与接口引用的深入解析

1、接口的介绍与创建关键字:interface2、接口的引用与规范关键字:implements接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用1、类中全部为抽象方法2、抽象方法前不用加abstract3、接口抽象方法属性为public4、成员属性必须为常量抽象:1、类中至少有一个抽象方法2、抽象方法前需加abstract共同点:1、本身都不能被实例化,必须被继承或者引用2、继承或者引用后,需要把所有抽象方法重载方可使用接口有自己的创建关键字...
php中如何使对象可以像数组一样进行foreach循环

php中如何使对象可以像数组一样进行foreach循环

刚接触到题的时候,我也没有考虑到Iterator模式,试了几个一般想法,失败以后。。。。就直接去翻看了foreach的源码实现,期望发现foreach处理对象的时候是否有什么特殊性,可以做为突破口。跟踪了半天以后发现了核心逻辑中的一个奇怪的switch:复制代码 代码如下:switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) {default:case ZEND_ITER_INVALID:.....br...
浅析PHP原理之变量(Variables inside PHP)

浅析PHP原理之变量(Variables inside PHP)

或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型:复制代码 代码如下:<?php$var = 1; //int$var = "laruence"; //string$var = 1.0002; //float$var = array(); // array$var =...
将word转化为swf 如同百度文库般阅读实现思路及代码

将word转化为swf 如同百度文库般阅读实现思路及代码

复制代码 代码如下: <SPAN style="FONT-FAMILY: Arial, Helvetica, sans-serif">实现如同百度文库那样类似功能需要进行一系列转化,一般流程想将word转化为pdf格式,再将pdf格式转化为swf格式。在网页上显示其实都是swf格式内容。</SPAN> 首先将word转化为swf,需要调用com组件,可以通过office 或者wps进行转化,但我尝试都没有成功,最后通过OpenOf...
Zend Studio 实用快捷键一览表(精心整理)

Zend Studio 实用快捷键一览表(精心整理)

注:本文省略“通用快捷键”描述,诸如:ctrl+N=新建,ctrl+O=打开,ctrl+C=复制,ctrl+V,ctrl+X……等等几乎所有软件都通用的一组快捷键,而着重介绍zde独有的快捷键,了解并灵活运用这些快捷键以后,一定能帮助您在实际的项目操作中更加游刃有余。(怎么越写越觉得我是在做游戏秘籍,哈哈!) 编辑功能 组合键实现功能适用条件Ctrl+/单行注释。当前为php代码时,则在光标所在行添加双斜杠行注释,选择多行则每一行都添加双斜杠;而当代码为h...
php一些错误处理的方法与技巧总结

php一些错误处理的方法与技巧总结

1:为什么我得不到变量 我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值? 在PHP4.2以后的版本中register_global默认为off 若想取得从另一页面提交的变量: 方法一:在PHP.ini中找到register_global,并把它设置为on. 方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Star...
php中如何判断一个网页请求是ajax请求还是普通请求

php中如何判断一个网页请求是ajax请求还是普通请求

如何在php中判断一个网页请求是ajax请求还是普通请求?你可以通过传递参数的方法来实现,例如使用如下网址请求:/path/to/pkphp.com/script.php?ajax在php脚本中使用如下方法判断: 复制代码 代码如下:if(isset($_GET["ajax"])) { ...这是一个ajax请求,然后... } else { ...这不是一个ajax请求,然后... } 通过传递_GET参数的方法简单实现了网页请求的判断。但是如果需要这样...
<< 331 332 333 334 335 336 337 338 339 340 >>