PHP四舍五入精确小数位及取整

 更新时间:2016年11月25日 14:59  点击:1460
php中取小数位的函数有sprintf,ceil,floor,round等等函数来实现四舍五入,下面我们就一起来看看具体的实例吧。

本篇文章将使用php对数字进行四舍五入保留N位小数,以及使用php对数字进行取整的方法做个小总结。

(1)php保留三位小数并且四舍五入

 代码如下 复制代码

$num=0.0215489;
echo sprintf("%.3f", $num); // 0.022


(2)php保留三位小数不四舍五入

 

 代码如下 复制代码
$num=0.0215489;
echo substr(sprintf("%.4f", $num),0,-1); // 0.021


(3)php进一法取整数(这个在分页程序的页数程序里面会用到)

 代码如下 复制代码

echo ceil(4.3);    // 5
echo ceil(9.999);  // 10


(4)php舍去法取整数

 代码如下 复制代码

echo floor(4.3);   // 4
echo floor(9.999); // 9

(5),round函数

例 1. round() 例子

 代码如下 复制代码

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?> 

在php中数组是一个非常重要的数据存储类型,本文章主要是介绍了数据创建与数组删除及遍历查询数据值输出,下面一起来看看。

数组的声明

1、直接赋值的方式声明数组

    $数组变量名[索引值] = 资料内容 //其中索引值(下标)可以是一个字符串或数字

但有的时候,我们也可以直接给数组赋值,并不填写“索引值”,那第此时,数组的下标就会自动以数字0开始增加。

    $数组变量名[] = 资料内容 //其中索引值(下标)可以是一个字符串或数字

 2、使用array()语言结构新建数组

在实际使用中我们可以用array()语言结构来新建一个数组,并初始化数组。

    $数组变量名=array( key1 => value1, key2 => value2, ...... ,keyN => valueN );

当然,像上面我们并不一定就这样,我们有的时候会像下面这样来做:(区别在于索引值为数字)

    $数组变量名=array( value1, value2, ...... , valueN );

 3、多维数组的声明

多维数组其实也就是在数组里面再次存放数组。如下:

    $content = array (
    array(1,'高某','A公司','北京市'),
    array(2,'高某1','B公司','北京市'),
    array(3,'高某','C公司','北京市')
    );

 数组的遍历

1、使用for语句循环遍历数组

在其它的编程语言中,数组的遍历通常都是使用for循环语句,通过数组的下标来访问数组中每个成员元素,但要求数组的下标必须是连续的数字索引。而在PHP中,不仅可以指定非连续的数字索引值,而且还存在以字符为下标的关联数组。所以在PHP中,其实是很少使用for语句来遍历数组。下面来晒一个例子给大家看一下,大家应该不会陌生。

  

 代码如下 复制代码
  <?php
    //使用array()语句将联系人列表中第一条记录声明成一维数组$contact
    $contact=array(1,"高某","A公司","北京市","(015)9582451","gao@php.com");
    //以表格的形式输出一维数组中的每个元素
    echo '<table border="1" width="600" align="center">'; //输出<table>标记定义表格
    echo '<caption><h1>联系人列表</h1></caption>'; //输出表头
    echo '<tr bgcolor="#dddddd">'; //输出表格的行开始,背景为灰色
    
    //以html的th标记输出表格的字段名称
    echo '<th>编号</th><th>姓名</th><th>公司</th><th>地址</th><th>电话</th><th>EMAIL</th>';
    echo '</tr><tr>';
    for($i=0;$i<count($contact);$i++){ //使用for循环来输出一维数组中的元素
    echo '<td>'.$contact[$i].'</td>';
    }
    echo '</tr></table>'; //输出表格的关闭标记
    ?>

遍历多维数组时,要使用循环嵌套逐层进遍历。在此就不用代码列出来了。

 
2、使用foreach语句遍历数组

既然for循环语句在PHP中并不常用,那么就让我们来看一下foreach到底有什么可取之处吧!

foreach语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。

第一种语法格式:

    foreach(array_expression as $value ){
    
    循环体
    
    }

第二种语法模式:

    foreach(array_expression as $key => $value){
    
    循环体
    
    }

 3、联合使用list()、each()、和while()、循环遍历数组

each()函数

each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。键/值对被返回为带有四个元素的关联和索引混合的数组,键名分别为0、1、key和value。其中键名0和key对应的值是一样的,是数组元素的键名,1和value则包含有数组元素的值。如果内部指针越过了数组的末端,则each()返回FALSE。each()函数的使用如下所示:

   

 代码如下 复制代码
<?php
    //声明一个数组$contact作为each()函数的参数
    $contact=array("ID"=>1,"姓名"=>"高某","http://www.111cn.Net公司"=>"A公司","地址"=>"北京市");
    
    $id=each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组
    print_r($id); //返回数组$id:Array([1]=>1[value]=>1[0]=>ID[key]=>ID)
    $name=each($contact); //返回数组Rcontact中第二个元素的键/值对,是带有4个元素的数组
    print_r($name); //返回数组$name:Array([1]=>高某 [value]=>高某 [0]=>姓名 [key]=>姓名)
    $company=each($contact);
    print_r($company);
    $address=each($contact);
    print_r($address);
    $no=each($contact); //已经到数组$contact的末端,返回false
    var_dump($no); //输出$no的值:bool(false)
    
    ?>

 list()函数

这不是真正的函数,而是PHP的语言结构。list()用一步操作给一组变量进赋值,即把数组中的值赋给一些变量。list()仅能用于数字索引的数组并假定数字索引从0开始。语法格式如下所示:

    list(mixed varname,mixed ...)=array_expression //list()语句的语法格式

list()语句和其它函数在使用上有很大的区别,并不是直接接收一个数组作为参数。而是通过“=”去处符以赋值的方式,将数组中每个元素的值,对应的赋给list()函数中的每个参数。list()函数又将它中的每个参数转换为直接可以在脚本中使用的变量。使用方法如下 :

  

 代码如下 复制代码
  <?php
    $info=array('coffee','brown','caffeine'); //声明一个索引数组$info
    
    list($drink,$color,$power)=$info; //将数组中的所有元素转为变量
    echo "$drink is $color and $power makes it special.n";//输出的三个变量值是数组中三个元素的值
    
    list($drink, ,$power)=$info; //将数组中的部分元素变为变量
    echo "$drink has $power.n"; //输出的两个变更值是数组中的前两个元素的值
    
    list(,,$power)=$info; //跳过前两个变量只将数组中第三个元素的值转为变量
    echo "I need $power!n"; //输出的一个变量值是数组中桃花汛三个元素的值勤
    ?>

通过上例了解list()函数的用法之后,将each()函数和list()函数结合起来使用。代码如下:

   

 代码如下 复制代码
<?php
    $contact=array("ID"=>1,"姓名"=>"http://www.111Cn.Net","公司"=>"A公司","地址"=>"北京市");
    list($key,$value)=each($contact); //将each()函数和list()函数联合使用
    echo "$key=>$value"; //输出变量$key和$value,中间使用"=>"分隔
    ?>

 while()循环遍历数组

while()循环的语法格式如下:

    while( list($key,$value) = each(array_expressin) ){
    循环体;
    }

使用这种组合改写前面使用foreach遍历过的一维数组。代码如下所示:

   

 代码如下 复制代码
<?php
    //声明一个一维的关联数组$contact
    $contact=array("ID"=>1,
    "姓名"=>"高某",
    "公司"=>"A公司",
    "地址"=>"北京市",
    "电话"=>"(010)987665432",
    "EMAIL"=>"gao@php.com"
    );
    //以HTML列表的方式输出数组中每个元素的信息
    echo '<dl>一个联系人信息:';
    while(list($key,$value) = each($contact) ){ //将foreach语句改写成while,list()和each()的组合
    echo "<dd>$key:$value</dd>"; //输出每个元素的键/值勤
    }
    echo '</dl>';
    ?>

 4、数组内部指针控制函数遍历数组

对于数组指针的控制PHP提供了以下几个内奸函数可以利用。

》》current():是取得目前指针位置的内容资料

》》key():用来读取目前指针所指向资料的索引值

》》next():将数组中的内部指针移动到下一个单无

》》prev():将数组的内部指针倒回一位

》》end():将数组的内部指针向最后一个元素

》》reset():将目前指针无条件移至第一个索引位置

这些函数的参数都只有一个,就是要操作的数组本身。在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:

 

 代码如下 复制代码
   <?php
    //声明一个一维的关联数组$contact,使用"=>"去处符指定了每个元素的字符串下标
    $contact = array("ID"=>1,
    "姓名"=>"高某",
    "公司"=>"A公司",
    "地址"=>"北京市",
    "电话"=>"(010)98765432",
    "EMAIL"=>"gao@php.com"
    );
    //数组刚声明时,数组指针在数组中第一个元素位置
    //使用key()和current()函数传入数组$contact,返回数组中当前元素的键和值
    echo '第一个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出:第一个元素:ID=>1
    echo '第一个元素:'.key($contact).'=>'.current($contact).'<br>'; //数组指针没有移动,输出同上
    
    next($contact); //将数组$contact中的指针向一个元素移动一次,指向第二个元素的位置
    next($contact); //将数组$contact中的指针向一个元素移动一次,指向第三个元素的位置
    echo '第三个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出第三个元素的键和值
    
    end($contact); //再将数组$contact中指针移动到最后,指向最后一个元素
    echo '最后一个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出最后一个元素的键和值
    
    prev($contact); //将数组$contact中的指针倒回一位,指向最后第二个元素
    echo '最后第二个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出最后第二个元素的键和值
    
    reset($contact); //再将数组$contact中的指针重置到第一个元素的位置,指向第一个元素
    echo '又回到了第一个元素'.key($contact).'=>'.current($contact).'<br>'; //输出第一个元素的键和值
    ?>

数据排序


•sort() 函数用于对数组单元从低到高进行排序。
•rsort() 函数用于对数组单元从高到低进行排序。
•asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
•arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
•ksort() 函数用于对数组单元按照键名从低到高进行排序。
•krsort() 函数用于对数组单元按照键名从高到低进行排序。

例子:

 代码如下 复制代码
<?php
$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [0] => a [1] => b [2] => c )
在本例中, $arr 数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。

rsort()
PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

asort()
PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。

语法:

bool asort( array &array [, int sort_flags] )
可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。

例子:

 代码如下 复制代码
<?php
$arr = array("b", "a", "c");
asort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [1] => a [0] => b [2] => c )

注:本文内容参考于《细说PHP》中的数组部分,仅作学习之余的个人笔记。

下面我们一起来看看php中关于抽象(abstract)类和抽象方法的问题解析,希望本文章对各位同学会有所帮助哦。

在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问的接口。而抽象方法就是为了方便继承而引入的,现在来看一下抽象类和抽象方法分别是如何定义以及他们的特点。

什么是抽象方法?我们在类里面定义的只有方法名没有方法体的方法就是抽象方法,所谓没有方法体就是在方法声明的时候没有大括号以及其中的内容,而是直接声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字"abstract"来修饰。


1、抽象关键字 :abstract

抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或者方法我们需要使用adstract关键字。

2、抽象方法和抽象类的定义

一个类中至少有一个方法是抽象的,我们称之为抽象类。所以如果定义抽象类首先定义抽象方法。

abstract class class1{                                             

   abstract function fun1();
……
}

1、类中至少有一个抽象方法
2、抽象方法不允许有{ }
3、抽象方法前面必须要加abstract


3、抽象类和方法使用规则


抽象类的几个特点:

1、不能被实例化,只能被继承

2、继承的派生类当中要把所有抽象方法重载才能实例化

php中关于抽象(abstract)类和抽象方法

关于抽象方法的声明如下:

 代码如下 复制代码

<?php
abstract function fun1();

?>


什么是抽象类呢?只要一个类里面有一个方法是抽象方法,那么这个类就必须定义为抽象类。抽象类也要使用关键字"abstract"来修饰,抽象类不能实例化对象,所以抽象方法作为子类方法重载的模板使用的,且要把继承的抽象类里的方法都实现。

关于抽象类以及抽象类的实现举例如下:

 代码如下 复制代码

<?php
abstract class User{  //定义抽象类
    abstract protected function getUser(); //定义抽象方法
    public function print_content(){
        print $this->getUser();
    }
}

class vipUser extends User{
    protected function getUser(){
        return "抽象类与抽象方法";
    }
}

$user=new vipUser(); //实例化子类
$user->print_content(); //抽象类与抽象方法
?>


注意:抽象类继承另外一个抽象类时(目的是对该抽象类的扩展),不能重写父类的抽象方法。

在PHP5.1中,抽象类中支持静态抽象方法。下面这个例子,看到静态抽象方法可以声明。实现这个方法时,必须是静态的方法。

 代码如下 复制代码

<?php
abstract class User{
 protected static  $sal=0;
 static abstract function getSal();
 static abstract function setSal($sal);
}
class VipUser extends User{
 static function getSal(){
  return self::$sal;
 }
 static function setSal($sal){
  self::$sal=$sal;
 }
}
VipUser::setSal(100);
echo "you sal is " . VipUser::getSal();
?>

在php中$this、static、final、const、self用法类对象中了,当然有两个变量是可以用在页面或函数中,下面我们一起来看看它们的用法吧。

本篇文章主要分项了一下关于php类中的$this,static,final,const,self这几个关键字使用方法。

$this

$this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value='phpernote';的形式。常见用法如:

$this->属性

$this->方法

举例如下:

 代码如下 复制代码
<?php
class MyClass{
 private $name;
 public  function __construct($name){
  $this->name=$name;
 }
 public function getname(){
  return $this->name;
 }
 public  function printName(){
  echo $this->getname();
 }
}
$myclass= new MyClass("I Like www.111cn.net");
$myclass->printName();//输出:I Like www.111cn.net
?>


在类里面调用当前类的属性和方法有三种方法,分别是self、parent、$this,这三个关键字的区别是:self用来指向当前的类;parent用于指向当前类的父类,可以使用该关键字调用父类的属性和方法;$this用来在类体内调用自身的属性和方法。

static

关键字可以是self(在类内部调用静态成员时所使用)静态成员所在的类名(在类外调用类内部的静态成员时所使用)

声明一个静态变量如下:

static $val='';

只存在于函数作用域的变量,函数执行之后变量的值不会丢失,只会初始化一次,初始化静态变量不能使用表达式,不用全局变量代替是因为全局变量会被所有函数访问容易造成维护不宜。

在类中使用static有两种主要用途、定义静态成员和定义静态方法。静态成员只保留一个变量的值,这个值对所有实例都是有效的,如下:

 代码如下 复制代码
<?php
class MyObject{
 public static $myStaticVar=0;
 function myMethod(){
  self::$myStaticVar+=2;
  echo self::$myStaticVar;
 }
}
$instance1=new MyObject();
$instance1->myMethod();
$instance2=new MyObject();
$instance2->myMethod();

//结果将分别打印2、4

 

 代码如下 复制代码

<?php
class Book{
 static $num=0;
 public function showMe(){
  echo"您是滴".self::$num."位访客";
  self::$num++;
 }
}
$book1=new Book();
$book1->showMe();
echo"<br>";
$book2=new Book();
$book2->showMe();
echo"<br>";
echo"您是滴".Book::$num."位访客";
?>


结果将是:

您是滴0位访客
您是滴1位访客
您是滴2位访客

另外需要注意的是如果类的方法是static的,他所访问的属性也必须是static的。

final

PHP final关键字可以修饰类同样可以修改类中的方法,但它们的作用是差不多的,即如果你使用了final关键字来修饰了,那么这个被修饰的类或者方法将不能被扩展或者继承。你只能老老实实去引用它。如果你在类前面使用了final,这就是说明这个类不能使用继承;如果你在方法前使用了PHP final关键字,这就是说明这个方法不能被覆盖。道理就是这么简单,让我们也看个简单的示例吧。

 

最终的类和方法,不能继承,该关键字修饰的方法不能被重写。一般用法如下:

<?php
final class MyClass{//此类将不允许被继承
 final function fun1(){......}//此方法将不允许被重写
}

 代码如下 复制代码
    < ?PHP  
    final class BaseClass {  
    public function test() {  
    echo "BaseClass::test() calledn";  
    }  
    final public function moreTesting() {  
    echo "BaseClass::moreTesting() calledn";  
    }  
    }  
    class ChildClass extends BaseClass {  
    public function moreTesting() {  
    echo "ChildClass::moreTesting() calledn";  
    }  
    }  
    // Results in Fatal error: Cannot override final method BaseClass::moreTesting()  
    ?> 

const

在类的内部方法访问已经声明为const及static的属性时,需要使用self::$name的形式调用。举例如下:

 代码如下 复制代码
<?php
class clss_a{
 private static $name="static class_a";
 const PI=3.14;
 public $value;
 public static function getName(){
  return self::$name;
 }
 //这种写法有误,静态方法不能访问非静态属性
 public static function getName2(){
  return self::$value;
 }
 public function getPI(){
  return self::PI;
 }
}

注意const属性的申明格式是const PI=3.14,而不是const $PI=3.14。

self

self表示类本身,指向当前的类。通常用来访问类的静态成员、方法和常量。

当碰到一个网站需要不间断运行,但又需要调试该网站的程序错误的时候,该如何办呢?是靠经验一点点猜测,还是直接打印错误信息让其在页面输出?

下面分享一种方法同时满足这两种条件,既方便网站程序错误调试,又不影响网站的正常运行的调试方法。将下面的php语句复制到公共代码顶部即可。

 代码如下 复制代码

//ini_set('error_reporting',E_ALL ^ E_NOTICE);//显示所有除了notice类型的错误信息
ini_set('error_reporting',E_ALL);//显示所有错误信息
ini_set('display_errors',off);//禁止将错误信息输出到输出端
ini_set('log_errors',On);//开启错误日志记录
ini_set('error_log','C:/phpernote');//定义错误日志存储位置


另外附加两句比较常用的排除错误信息的PHP语句:

 代码如下 复制代码

@ini_set('memory_limit','500M');//设置程序可占用最大内存为500MB
@ini_set('max_execution_time','180');//设置允许程序最长的执行时间为180秒

补充

die()和exit()也是我们常用的php调试一个方法

die()和exit()函数都有终止线程的作用,是php断点调试需要使用的最主要的函数,它们也是php程序员使用非常频繁的函数。然而两者又有什么区别呢?在程序调试时需要注意什么问题呢?

die()函数一般与“or”一并使用,写作“or die()”,经常看到这样的语句:

 代码如下 复制代码

$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename")

or在这里是这样理解的,因为在PHP中并不区分数据类型,所以$file既可以是int也可以bool,所以这样的语句不会报错。但其处理过程可能有些朋友不大明白。其实在大多数的语言中, bool or bool这样的语句中,如果前一个值为真后一个值就不会再判断了。这里也是的,所以如果fopen函数执行正确的话,会返回一个大于0的int值(这其实就是"真"),后面的语句就不会执行了。如果fopen函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。就这样。

实际上,die和exit是等价的,都是用来终止当前脚本。

php手册对两者的解释如是说:
exit() 函数输出一条消息,并退出当前脚本。该函数是 die() 函数的别名。
die() 函数输出一条消息,并退出当前脚本。该函数是 exit() 函数的别名。

实例:
 

 代码如下 复制代码
<?php $site = "http://www.111cn.net/"; fopen($site,"r") or exit("Unable to connect to $site"); ?>
 <?php $site = "http://www.111cn.net/"; fopen($site,"r") or die("Unable to connect to $site"); ?>

var_dump()和print_r()

var_dump -- 打印变量的相关信息

void var_dump ( mixed expression [, mixed expression [, ...]] )

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

 

提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数(output-control functions)来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。   

 代码如下 复制代码
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
$b = 3.1;
$c = TRUE;
var_dump($b,$c);
?>

var_dump()可以输出多个变量,如:var_dump($b,$c)

print_r --  打印关于变量的易于理解的信息

bool print_r ( mixed expression [, bool return] )

注: 参数 return 是在 PHP 4.3.0 的时候加上的

print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

记住,print_r() 将把数组的指针移到最后边。使用reset() 可让指针回到开始处。

 代码如下 复制代码

<pre>
<?php
$a = array ('a' => 'apple',
'b' => 'banana',
'c' => array ('x','y','z'));
print_r ($a);
?>
</pre>

上边的代码将输出:

<pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre>

如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。

例子:return 参数示例

 代码如下 复制代码

<?php
$b = array ('m' => 'monkey',
'foo' => 'bar',
'x' => array ('x', 'y', 'z'));
$results = print_r ($b, true); //$results 包含了 print_r 的输出结果
?>

注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。
注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。

下面的几个函数可以让你随时查看程序中任何变量的类型及其值。

 代码如下 复制代码
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = each($array)){
for ($i = 0; $i < $column+1; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
$str .= $var. ==>; ;
$str .= ss_as_string($val, $column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->;classname)) {
return "$object";
}
else {
$str = $object->;classname."(
n";
while (list(,$var) = each($object->;persistent_slots)) {
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
global $$var;
$str .= $var. ==>; ;
$str .= ss_as_string($$var, column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return "Double(".$thing.")";
}
elseif (is_long($thing)) {
return "Long(".$thing.")";
}
elseif (is_string($thing)) {
return "String(".$thing.")";
}
else {
return "Unknown(".$thing.")";
}
}
[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • c# 数据类型占用的字节数介绍

    本篇文章主要是对c#中数据类型占用的字节数进行了详细的介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • C#中decimal保留2位有效小数的实现方法

    这篇文章主要介绍了C#中decimal保留2位有效小数的实现方法,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round方法以及ToString先转换为字符串等操作来实现。具体实现方法感兴趣的朋友跟随小编一起看看吧...2020-06-25
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17