经常看到PHP代码中function为啥里面会有参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经常看到PHP代码中function为啥里面会有参数?相关的知识,希望对你有一定的参考价值。

比如像这种function QueryList($pageURL,$regArr=array(),$regRange='')....,,$regArr=array(),$regRange=''如果是用来初始化变量,为什么不在里面?还是有别的用途?像这类函数,用是时候应该怎样用?

这是php和别的编程语言不同的一点,也是他的特点

这样的写法,按照我的理解,是设置一个默认值,这样做最大的好处是。。。

我举个例子吧

function a ( $b ) 

  echo $b;

 

这是一个最简单的函数,他提供了一个参数,那么,这样写的函数,你在调用的时候,就必须提供一个参数,否则会出错: a();这样会出错, a(5);这样就不会出错,会输出5,那么,改一下

function a ( $b = 0 ) 

  echo $b;

那么,调用的时候,a()会输出0, a(50)会输出50

也就是因为函数方法的参数有默认值,那么,调用的时候,也可以不提供参数

这样是很方便的,

当然,我个人认为是这样

再做一个实际点的例子:

function Alert( $Text = '', $Url = '')

  echo '<script>'
  echo 'alert("' . $Text . '");';
 if (!empty( $url ) 

  echo 'document.location="'. $url . '";';   
    
 echo '</script>';
 die;

 调用:

Alert('请输入用户名');#会弹出一个提示,但页面不会转向
Alert('登陆成功', 'member.php');#会弹出一个提示,点击确定后会转到member.php页面

参考技术A 给参数赋予默认值,当调用此函数不传递此形参对应的参数时,采用此值进行处理。 参考技术B function hzcsysecho($a)

echo $a;

以后只需使用
<?php
hzcsysecho("HZC,FZC,ZJWDKJ:PHP+CSHARP+COMPUTERTECHNOLOGIES,Q2_26_0_50-33-9-1--");
?>
就会echo一个:
HZC,FZC,ZJWDKJ:PHP+C+++CSHARP+COMPUTERTECHNOLOGIES,Q2_26_0_50-33-9-1--

为啥 jQuery 示例经常省略脚本类型?

【中文标题】为啥 jQuery 示例经常省略脚本类型?【英文标题】:Why do jQuery samples often omit script type?为什么 jQuery 示例经常省略脚本类型? 【发布时间】:2013-02-18 16:35:03 【问题描述】:

例如here 代码如下:

<html lang="en">
   <head>
     <!-- whatever -->
     <script>
       $(function() 
         $( "#datepicker" ).datepicker();
       );
     </script>
   </head>
 <!-- whatever -->

请注意,&lt;script&gt; 应该包含 type 属性(可能设置为 "text/javascript"),但此处不存在。

这不是我见过的唯一例子。这样的代码让 Visual Studio 编辑器不高兴 - 它强调了 &lt;script&gt; 并说应该有一个 type 属性。这也让我很好奇。

为什么type 经常被省略?如果我添加 type="text/javascript" 会发生什么 - jQuery 会中断还是什么?

【问题讨论】:

您尝试添加类型了吗? 大多数浏览器默认使用 javascript,但无论如何您都应该指定类型。 JS 可能并不总是默认的。这是符合流行语的流行语,但明天其他语言可能会取代并成为事实上的标准。 @stewbydoo 问题不在于如何,而在于为什么 如果您使用的是现代浏览器,它会知道默认值为 javascript,但我的同事有一个简单的问题,他忘记输入类型,这破坏了一切。所以只要包括它大声笑 您错过了示例的第一行,&lt;!doctype html&gt; 非常重要。这将更改为 html5 而不是 html4,从而不需要 type 属性。 【参考方案1】:

这可能是因为HTML5 does not require a type attribute on &lt;script&gt; elements(默认为"text/javascript")。

【讨论】:

"text/javascript" 是许多年的默认类型。不适用于 HTML5。 @dfsq,嗯,type 属性 was required in HTML4,所以你必须明确指定它。 没错。更好的说法是,即使没有指定,该浏览器也会正确使用 javascript 作为脚本语言。但是如果它不是 HTML5 doctype,则省略代码可能是无效的。【参考方案2】:

在 HTML 5 中,现在默认设置脚本类型为 JavaScript,因此无需指定它。 不过似乎 HTML 4.01 确实需要它。

请看这里:http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

还有:http://www.w3.org/TR/html5/scripting-1.html#script

【讨论】:

【参考方案3】:

在 html5 中不再是要求。

http://www.w3.org/html/wg/drafts/html/master/scripting-1.html

【讨论】:

【参考方案4】:

type 标签是可选的。 所有浏览器中的默认编程语言都是 JavaScript,因此它是默认的。在 XHTML 中,这个属性是必需的,也是不必要的。在 HTML 中,最好将其省略。

浏览器会知道它是 Javascript。

【讨论】:

【参考方案5】:

Visual Studio 可能不满意,因为它很懒,需要在 script 标记内解析您的代码,而智能感知必须也能正常工作,所以最好直接提供 type,而不是让 VS 猜测您使用的是什么语言,即text/vbscript

您可以在 Visual Studio 下使用高级 vb 脚本编写一些 html 页面。 http://www.w3schools.com/vbscript/default.asp.

【讨论】:

以上是关于经常看到PHP代码中function为啥里面会有参数?的主要内容,如果未能解决你的问题,请参考以下文章

php中static和self调用静态方法区别

php中,用try/catch捕获了异常,为啥还会有警告?有没有办法去掉呢?

使用 blackfire.io 分析 PHP 7 应用程序,为啥我看到相同代码的不同 cpu 时间?

为啥我没有从 php 得到任何东西?

php问题求助,Notice: Undefined offset: 1 ,我的数组下标没有越界啊?为啥会有这样的提示呢?

为啥我们应该总是从函数返回值?