当前位置:  编程技术>php
本页文章导读:
    ▪php float不四舍五入截取浮点型字符串方法总结       php中截取浮点型大致有下面几种方法: 1、 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision (十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或.........
    ▪析构函数与php的垃圾回收机制详解       析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。 GC(Garbage Collector) 在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁。 这是PHP的GC(Garbage.........
    ▪web server使用php生成web页面的三种方法总结       查找mysql_pconnect时在mysql帮助文档上发现的,记在这里。 web server使用php生成一个web页面的三式有以下三种: 一:把PHP作为CGI Wrapper。这种方式下,每个到达web server的请求都会导致一个php解析.........

[1]php float不四舍五入截取浮点型字符串方法总结
    来源: 互联网  发布时间: 2013-11-30

php中截取浮点型大致有下面几种方法:

1、 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision (十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

    echo round(4.3)  //4

2、 string sprintf ( string $format [, mixed $args [, mixed $... ]] ) 返回格式化数据的字符串

代码如下:

$a=12.338938438;
echo sprintf("%.5f",$a) //结果:12.33894 

$a=12.3312356;
echo sprintf("%.5f",$a);//12.33124
echo sprintf("%f",$a);//331236  默认小数点后6位

3、 string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
代码如下:

$number = 1234.5678;

$english_format_number = number_format($number, 2, '.', '');
echo  $english_format_number ; // 1234.57

以上这些都自动做了四舍五入,有时候需求不需要四舍五入呢,怎么办,没有想到好办法,谁知道可以告诉一声。

自己写了个麻烦点的函数,记录下

代码如下:

function getFloatValue($f,$len)
{
  $tmpInt=intval($f);

  $tmpDecimal=$f-$tmpInt;
  $str="$tmpDecimal";
  $subStr=strstr($str,'.');
  if(strlen($subStr)<$len+1)
 {
  $repeatCount=$len+1-strlen($subStr);
  $str=$str."".str_repeat("0",$repeatCount);

 }

  return    $tmpInt."".substr($str,1,1+$len);

}
echo getFloatValue(12.99,4) //12.9900
echo getFloatValue(12.9232555553239,4) //12.9232

    
[2]析构函数与php的垃圾回收机制详解
    来源: 互联网  发布时间: 2013-11-30

析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行。

GC(Garbage Collector)

在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁。

这是PHP的GC(Garbage Collector)垃圾处理机制,防止内存溢出。

当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中的所有对象同样被销毁。

__destruct() 析构函数

__destruct() 析构函数,是在垃圾对象被回收时执行。

析构函数也可以被显式调用,但不要这样去做。

析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。

析构函数不能带有参数。

如下面程序所示,程序结束前,所有对象被销毁。析构函数被调用了。

代码如下:

<?
class Person {
    public function __destruct(){
        echo '析构函数现在执行了 <br />';
        echo '这里一般用来设置、关闭数据库、关闭文件等收尾工作';
    }
}

$p = new Person();
for($i = 0; $i < 5; $i++){
    echo "$i <br />";
}

?>

程序运行结果:




析构函数现在执行了 
这里一般用来设置、关闭数据库、关闭文件等收尾工作

当对象没有指向时,对象被销毁。

代码如下:

<?
class Person {
    public function __destruct(){
        echo '析构函数现在执行了 <br />';
    }
}

$p = new Person();
$p = null; // 析构函数在这里执行了
$p = "abc"; // 一样的效果
for($i = 0; $i < 5; $i++){
    echo "$i <br />";
}

?>

程序运行结果:

析构函数现在执行了 






上面的例子第10行,我们将$p设置为空或者第11行赋予$p一个字符串,这样$p之前指向的对象就成为了垃圾对象。PHP将这个对象垃圾销毁。
php unset变量

代码如下:

<?

class Person {
    public function __destruct(){
        echo '析构函数现在执行了 <br />';
    }
}

$p = new Person();
$p1 = $p;

unset($p);
echo '现在把 $p 被销毁了,对象是否也被销毁了呢?<br />';

for($i = 0; $i < 5; $i++){
    echo "$i <br />";
}

echo '现在再把 $p1 也销毁掉,即已经没有指向对象的变量了<br />';
unset($p1); // 现在没有指向对象的变量了,析构函数在这里执行了

?>  
 
程序运行结果:

现在把 $p 被销毁了,对象是否也被销毁了呢?




现在再把 $p1 也销毁掉,即已经没有指向对象的变量了

析构函数现在执行了 

unset 销毁的是指向对象的变量,而不是这个对象。


    
[3]web server使用php生成web页面的三种方法总结
    来源: 互联网  发布时间: 2013-11-30

查找mysql_pconnect时在mysql帮助文档上发现的,记在这里。

web server使用php生成一个web页面的三式有以下三种:

一:把PHP作为CGI Wrapper。这种方式下,每个到达web server的请求都会导致一个php解析器进程被创建,当这个php页面执行结束时,这个php解析器进程终止。

二:在多进程的web server中,把php作为web server的一个模块。这是目前最流行的做法,但是当前也只有apahce用的这种方式。一个多进程的web server通常有一个总的父进程协调一堆子进程来工作。当页面请求到达web server时,这个父进程把这个请求交给一个空闲的子进程去完成。同一个client的两次请求不一定被同一个web server的子进程处理。

三:在多线程的web server中,把php作为一个插件。比如IIS使用这种方式。它的工作原理和多进程工作原理一样,不过它是使用线程而非进程。


    
最新技术文章:
▪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