经常看到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 -->
请注意,<script>
应该包含 type
属性(可能设置为 "text/javascript"
),但此处不存在。
这不是我见过的唯一例子。这样的代码让 Visual Studio 编辑器不高兴 - 它强调了 <script>
并说应该有一个 type
属性。这也让我很好奇。
为什么type
经常被省略?如果我添加 type="text/javascript"
会发生什么 - jQuery 会中断还是什么?
【问题讨论】:
您尝试添加类型了吗? 大多数浏览器默认使用 javascript,但无论如何您都应该指定类型。 JS 可能并不总是默认的。这是符合流行语的流行语,但明天其他语言可能会取代并成为事实上的标准。 @stewbydoo 问题不在于如何,而在于为什么 如果您使用的是现代浏览器,它会知道默认值为 javascript,但我的同事有一个简单的问题,他忘记输入类型,这破坏了一切。所以只要包括它大声笑 您错过了示例的第一行,<!doctype html>
非常重要。这将更改为 html5 而不是 html4,从而不需要 type 属性。
【参考方案1】:
这可能是因为HTML5 does not require a type
attribute on <script>
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中,用try/catch捕获了异常,为啥还会有警告?有没有办法去掉呢?
使用 blackfire.io 分析 PHP 7 应用程序,为啥我看到相同代码的不同 cpu 时间?
php问题求助,Notice: Undefined offset: 1 ,我的数组下标没有越界啊?为啥会有这样的提示呢?