Home  >  Article  >  Backend Development  >  Introduction to how to use arrays as parameters in PHP to optimize performance (code attached)

Introduction to how to use arrays as parameters in PHP to optimize performance (code attached)

不言
不言Original
2018-08-02 17:16:543025browse

When we write PHP code, we may often need to upgrade and change the code. Such frequent operations will not only increase our workload but also reduce the performance of our entire program. Therefore, the following This article will share with you a method of using arrays to pass PHP function parameters, which will optimize the performance of our entire program.

Improve the traditional PHP function parameter passing method. Using arrays as parameters can optimize performance. Please see the example below.

Let’s look at a traditional custom function first:

/**  
* @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";  
}

This is a function that inserts a text box in the form class I wrote.

PHP The calling method of the function parameter passing method is

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

. At the beginning, only $title, $name, $value, $type, $maxlength, $readonly and other parameters were reserved. After a period of use, I found that These basic parameters cannot meet the needs. The text box needs js verification, CSS style needs to be defined, prompt information needs to be added, etc...

Added $required, $check, $id, $width, $tip, etc. After the parameters were discovered, all previous places where this function was called needed to be modified, which added a lot of workload.

The calling method of the PHP function parameter passing method becomes

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

If there are many places where this function is used It does take a long time to change one by one.

The improved function:

function addInput($a)  
{  
    if(is_array($a))  
    {  
        $title        = $a[&#39;title&#39;];  
        $name        = $a[&#39;name&#39;];  
        $value        = $a[&#39;value&#39;] ? $a[&#39;value&#39;] : "";  
        $type        = $a[&#39;type&#39;] ? $a[&#39;type&#39;] : "text";  
        $maxlength    = $a[&#39;maxlength&#39;] ? $a[&#39;maxlength&#39;] : "255";  
        $readonly    = $a[&#39;readonly&#39;] ? $a[&#39;readonly&#39;] : "";  
        $required    = $a[&#39;required&#39;] ? $a[&#39;required&#39;] : "false";  
        $check        = $a[&#39;check&#39;];  
        $id        = $a[&#39;id&#39;];  
        $width        = $a[&#39;width&#39;];  
        $tip        = $a[&#39;tip&#39;];  
    }  
    $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";  
}

The calling method becomes

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

After passing the before and after PHP function parameters Comparison of transfer methods can be found:

Traditional functions change a lot when they need to be expanded. When used, they must be written in the order of parameters, which is easy to make mistakes.

Improved function expansion You can add new parameters at any time. You only need to add the corresponding array key value when calling. Each parameter is clear at a glance, without having to consider the order, and the readability of the code is enhanced.

However, the improvement of the PHP function parameter passing method There are still disadvantages. The amount of code has increased, requiring programmers to write a lot more key values, and the judgment statements and ternary operation statements in the function may affect efficiency.

Recommended related articles:

Analysis of examples of PHP functions and passed parameters

PHP in functions Passing and receiving parameters in the body

The above is the detailed content of Introduction to how to use arrays as parameters in PHP to optimize performance (code attached). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn