当前位置:  编程技术>php
本页文章导读:
    ▪php static静态变量修饰符的用法详解      php静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。 例子: <?php /** * php静态变量 函数应用 * edit www. */ function test(){ static $a=0; $a++; echo $a; } test();//.........
    ▪zend Framework自动加载类的方法介绍      1,模块中类的自动载入 <?php $loader = new Zend_Application_Module_Autoloader(array( //模块内容自动加载类 'namespace' => 'Blog',//命名空间定义 即方法的开头为Blog_ 'basePath' => APPLICATION_PATH . '/modules/b.........
    ▪PHP接收post数据并解析json的简单实例      php接收post数据,解析json的代码,用到了php函数--stripslashes()、json_decode()、var_dump: <?php $json_string = $_POST["txt_json"]; if(ini_get("magic_quotes_gpc")=="1") { $json_string=stripslashes($json_string); } $user = j.........

[1]php static静态变量修饰符的用法详解
    来源: 互联网  发布时间: 2013-12-24

php静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。
例子:

<?php
/**
* php静态变量 函数应用
* edit www.
*/
function test(){
static $a=0;
$a++;
echo $a;
}

test();//1
test();//2
test();//3
?>

说明:
如果在声明中用表达式的结果对其赋值会导致解析错误。

static $a=0+1;
static $a=sqrt(121);

像上面的赋值方式会报错。

下面具体讲下PHP static静态变量的用法。

在php编程中,有关变量范围的另一个重要特性是静态变量(static variable)。
静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。

先来看一个简单的php静态变量的例子:

<?PHP
   function Test(){
       $a = 0;
       echo $a;
       $a++;
   }
?>

本函数没什么用处,因为每次调用时都会将 $a 的值设为 0 并输出 "0"。
将变量加一的 $a++ 没有作用,因为一旦退出本函数则变量 $a 就不存在了。
要写一个不会丢失本次计数值的计数函数,要将变量 $a 定义为静态的:
例子:

<?PHP
//php静态变量的例子
   function Test(){
     static $a = 0;
     echo $a;
     $a++;
   }
?>

现在,每次调用 Test() 函数都会输出 $a 的值并加一。

静态变量也提供了一种处理递归函数的方法。
递归函数是一种调用自己的函数。
写递归函数时要小心,因为可能会无穷递归下去。必须确保有充分的方法来中止递归。

以下这个简单的函数递归计数到 10,使用静态变量 $count 来判断何时停止:

<?PHP
   function Test(){
       static $count = 0;
       $count++;
       echo $count;
       if ($count < 10) {
           Test();
       }
       $count--;
   }
?>

注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。

来看这个声明静态变量的例子:

<?PHP
//声明静态变量
   function foo(){
     static $int = 0;// correct
     static $int = 1+2;   // wrong (as it is an expression_r)
     static $int = sqrt(121); // wrong (as it is an expression_r too)
  
     $int++;
     echo $int;
   }
?>

有关php中static静态变量修饰符的内容,就介绍这么多了,希望对大家有所帮助。


    
[2]zend Framework自动加载类的方法介绍
    来源: 互联网  发布时间: 2013-12-24

1,模块中类的自动载入

<?php
$loader = new Zend_Application_Module_Autoloader(array( //模块内容自动加载类
'namespace' => 'Blog',//命名空间定义 即方法的开头为Blog_
'basePath' => APPLICATION_PATH . '/modules/blog',//模块位置
));
?>

2,自动载入

<?php
require_once 'Zend/Loader/Autoloader.php';
$loader =Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('Application_');
//注意,看下载入的目录地址是否已被载入
?>

就介绍以上二种吧,希望对大家有所帮助。


    
[3]PHP接收post数据并解析json的简单实例
    来源: 互联网  发布时间: 2013-12-24

php接收post数据,解析json的代码,用到了php函数--stripslashes()、json_decode()、var_dump:

<?php
$json_string = $_POST["txt_json"];
if(ini_get("magic_quotes_gpc")=="1")
{
$json_string=stripslashes($json_string);
}
$user = json_decode($json_string);
echo var_dump($user);
?>

代码说明:
首先,得到html文件中POST表单域txt_json的值,放入变量$json_string中,然后进行判断,如果当前PHP的设定为magic_quotes_gpc=On,即传入的双引号等会被转义,这样json_decode函数无法解析,因此需要将其反转义化。
反转义之后,使用json_decode函数将JSON文本转换为对象,保存在$user变量中,最终用echo var_dump($user);,将该对象dump输出出来。

附,PHP JSON 数据解析代码

PHP解析JSON 数据代码,它总是能够知道如何解析 API 数据的各种传送格式,包括 JSON,XML 等等。
以下代码,解析人人连接网站POST获取的数据:

<?php
$json_string='{"id":1,"name":"xxx","email":"admin@","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name; //prints foo
echo $obj->interest[1]; //prints php
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3