首页 > 编程 > PHP > 正文

php中使用数组作为参数让性能得到优化的方法介绍(附代码)

2020-03-22 18:48:37
字体:
来源:转载
供稿:网友
我们在写php代码的时候,可能经常会需要对代码进行升级和更改,这样频繁的操作,不但会增加我们的工作量而且也会让我们的整个程序的性能降低,所以,下面的这篇文章给大家分享一个使用数组进行html' target='_blank'>PHP函数参数传递方法,这样会使我们整个程序的性能都得到优化。

改进一下传统PHP函数参数传递方法,使用数组作为参数可以让性能得到优化,请看下面的例子。

先看一个传统的自定义函数:

/**  * @Purpose:     插入文本域  * @Method Name: addInput()  * @Parameter:    str $title        表单项标题  * @Parameter:    str $name        元素名称  * @Parameter:    str $value        默认值  * @Parameter:    str $type        类型,默认为text,可选password  * @Parameter:    str $maxlength        最长输入  * @Parameter:    str $readonly        只读  * @Parameter:    str $required        是否必填,默认为false,true为必填  * @Parameter:    str $check        表单验证function(js)名称  * @Parameter:    str $id            元素id,无特殊需要时省略  * @Parameter:    int $width        元素宽度,单位:象素  * @Parameter:    str $tip        元素提示信息  * @Return:        */  function addInput($title,$name,$value="",$type="text",$maxlength="255",$readonly,$required="false",$check,$id,$width,$tip)  {      $this->form .= "<li>/n";      $this->form .= "<label>".$title.":</label>/n";      $this->form .= "<input name=/"".$name."/" value=/"".$value."/" type=/"".$type."/" maxlength=/"".$maxlength."/" required=/"".$required."/" check=/"".$check."/" id=/"".$id."/" class=/"input/" ".$readonly." style=/"width:".$width."px;/" showName=/"".$title."/" /> ";      $this->form .= "<span class=/"tip/">".$tip."</span>/n";      $this->form .= "</li>/n";  }

这是我写的表单类中一个插入文本框的函数.

PHP函数参数传递方法的调用方法为

$form->addInput("编码","field0","","text",3,"");

在开始的时候只预留了$title,$name,$value,$type,$maxlength,$readonly等参数,经过一段时间的使用,发现这些基本参数无法满足需求,文本框需要有js验证,需要定义CSSyangshi_10628_1.html' target='_blank'>CSS样式,需要增加提示信息等...

增加了$required,$check,$id,$width,$tip等参数之后发现以前所有调用此函数的地方都需要修改,增加了很多工作量.

PHP函数参数传递方法的调用方法变成

$form->addInput("编码","field0","","text",3,"","true","","",100,"提示:编号为必填项,只能填写3位");

如果使用这个函数的地方很多的话一个一个改确实需要很长时间.

改进之后的函数:

function addInput($a)  {      if(is_array($a))      {          $title        = $a['title'];          $name        = $a['name'];          $value        = $a['value'] ? $a['value'] : "";          $type        = $a['type'] ? $a['type'] : "text";          $maxlength    = $a['maxlength'] ? $a['maxlength'] : "255";          $readonly    = $a['readonly'] ? $a['readonly'] : "";          $required    = $a['required'] ? $a['required'] : "false";          $check        = $a['check'];          $id        = $a['id'];          $width        = $a['width'];          $tip        = $a['tip'];      }      $title,$name,$value="",$type="text",$maxlength="255",$readonly,$required="false",$check,$id,$width,$tip      $this->form .= "<li>/n";      $this->form .= "<label>".$title.":</label>/n";      $this->form .= "<input name=/"".$name."/" value=/"".$value."/" type=/"".$type."/" maxlength=/"".$maxlength."/" required=/"".$required."/" check=/"".$check."/" id=/"".$id."/" class=/"input/" ".$readonly." style=/"width:".$width."px;/" showName=/"".$title."/" /> ";      $this->form .= "<span class=/"tip/">".$tip."</span>/n";      $this->form .= "</li>/n";  }

调用方法变为

$form->addInput(      array(          'title' = "编码",          'name' = "field0",          'maxlength' = 3,          'required' = "true",          'width' = 100,          'tip' = "提示:编号为必填项,只能填写3位",      )  );

经过前后PHP函数参数传递方法的对比可以发现:

传统的函数在需要扩展的时候改动量大,使用的时候必须按参数的顺序写,很容易出错.

改进后的函数扩展的时候可以随时增加新参数,只需要在调用时增加对应的数组键值,每个参数都一目了然,无需考虑顺序,代码可读性增强.

不过PHP函数参数传递方法的改进还是有缺点的,代码量增大了,需要程序员多写很多键值,还有就是函数中判断语句和三元运算语句可能会影响效率。

相关文章推荐:

php函数与传递参数实例分析

PHP在函数体中传递与接收参数

以上就是php中使用数组作为参数让性能得到优化的方法介绍(附代码)的详细内容,更多请关注 其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表