Ⅰ php数组怎么导入定义函数
1、首先新建一个php文件,命名为test.php,用于讲解php如何把数组作为参数传递给函数。
2、其次在test.php文件中,自定义一个函数myfunc,在函数内,使用foreach遍历数组,并输出元素值。
3、最后在test.php文件中,定义一个数组,用于函数的参数,并导入。
Ⅱ php中自定义函数正确的语句是
像数学中的函数一样,y=f(x)是函数基本的表达形式,x可看做是参数,y可看做是返回值,即函数定义就是一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。
自定义函数 函数的声明
在编写程序的过程中,我们会经常碰到某些功能模块在PHP中没有提供系统函数,这样就需要我们自己定义函数,即自定义函数,自定义函数的规则如下:
每个函数的第一行都是函数头,由声明函数的关键字function、函数名和参数列表三部分组成。
每个自定义函数都必须使用function关键字声明。
函数名可以代表整个函数,可以将函数命名为任何名称,只要遵循变量名的命名规则即可。但函数名称必须唯一,且不能与系统函数重名。
声明函数时函数名后面的花括号也是必须有的,在花括号中表明了一组可以接受的参数列表,参数就是声明的变量,然后在调用函数时传递给它值。参数列表可以没有,也可以有—个或多个参数,多个参数使用逗号分隔。
函数体位于函数头后面,用花括号括起来。函数被调用后,执行到retun语句或最外面的花括号后结束,返回到调用的程序。
使用关键字return可以从函数中返回一个值,然后返回到调用程序处继续执行。
<?php
/* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
functiontable(){
echo"<table align='center' border='1' width='600'>";
for(out=0;out<10;out++){
bgcolor=out%2==0?"red":"blue";//各行换背景色
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<10;in++){
echo"<td>".(out*10+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
函数的调用
不管是自定义的函数还是系统函数,如果函数不被调用,就不会执行。函数被调用后开始执行函数体中的代码,执行完毕返回到调用的位置继续向下执行。调用规则如下:
通过函数名称去调用函数。
如果函数有参数列表,还可以通过函数名后面的圆括号传入对应的值给参数,在函数体中使用参数来改变函数内部代码的执行行为。
如果函数有返回值,当函数执行完毕时就会将return后面的值返回到调用函数的位置处。
<?php
/* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
functiontable(){
echo"<table align='center' border='1' width='600'>";
for(out=0;out<10;out++){
bgcolor=out%2==0?"red":"blue";//各行换背景色
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<10;in++){
echo"<td>".(out*10+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
<?php
table();
?>
函数的参数
参数列表是由零个、一个或多个参数组成的。每个参数是一个表达式,用逗号分隔。对于有参函数,在PHP脚本程序中和被调用函数之间有数据传递关系。定义函数时函数名后面括号内的表达式称为形式参数(简称“形参”),被调用函数名后面括号中的表达式称为实际参数(简称“实参”),实参和形参需要接顺序对应传递数据。如果函数没有参数列表,函数执行的任务就是固定的,用户在调用函数时不能改变函数内部的一些执行行为。
Demo
<?php
/**
自定义函数table()时,声明三个参数,参数之间使用逗号分隔
@paramstringtableName 需要一个字符串类型的表名
@paramintrows 需要一个整型数值设置表格的行数
@paramintcols 需要另一个整型值设置表格的列数
*/
functiontable(tableName,rows,cols){
echo"<table align='center' border='1' width='600'>";
echo"<caption><h1>tableName</h1></caption>";
for(out=0;out<rows;out++){//使用第二个参数rows指定表行数
bgcolor=out%2==0?"red":"blue";
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<cols;in++){//使用第三个参数cols指定表列数
echo"<td>".(out*cols+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
<?php
table("千度的表格",10,10);
?>
函数的返回值
函数的返回值是函数执行的结果,调用函数的脚本程序不能直接使用函数体里面的信息,但可以通过关键字return向调用者传递数据。return语句注意点如下:
return语句可以向函数调用者返回函数体中任意执行结果值。
在函数体中如果执行了return语句,它后面的语句就不会被执行。
<?php
/**
自定义函数table()时,声明三个参数,参数之间使用逗号分隔
@paramstringtableName 需要一个字符串类型的表名
@paramintrows 需要一个整型数值设置表格的行数
@paramintcols 需要另一个整型值设置表格的列数
*/
functiontable(tableName,rows,cols){
returnStr="这是返回的字符串";
echo"<table align='center' border='1' width='600'>";
echo"<caption><h1>tableName</h1></caption>";
for(out=0;out<rows;out++){//使用第二个参数rows指定表行数
bgcolor=out%2==0?"red":"blue";
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<cols;in++){//使用第三个参数cols指定表列数
echo"<td>".(out*cols+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
returnreturnStr;
}
?>
<?php
echotable("千度的表格",10,10);
?>
Ⅲ 关于php自定义函数库文件的引用
执行效率影响确实不大,不过建议楼主不要每次写东西都复制粘贴,这样影响进步。我个人的经验,这个functions.php中的内容不能总是只增不减,随着你的水平的提高,有的功能可能你会发现它们可以有更适当的安排。也许一些函数可以组织起来变成一个对象,也许有的函数更合适作为某个对象中的一个方法,这些都能够帮你减少自定义函数文件的体积。
Ⅳ php 如何定义函数连接数据库
你定义的dbopen没看见你调用?其实你可以在dbopen里面返回$conn,例如:
function dbopen(){
.....
return $Conn;
}
$cid=dbopen();
以后就可以使用$cid变量操作数据库
Ⅳ php中使用什么函数定义一个自定义函数
php语言中,使用 function来声明一个函数
如: 用function 声明一个名称为get_article_info的函数,函数的参数为 $id
/**
*获得指定的文章的详细信息
*
*@accessprivate
*@paraminteger$id
*@returnarray
*/
functionget_article_info($id)
{
/*获得文章的信息*/
$sql="SELECTa.*,IFNULL(AVG(r.comment_rank),0)AScomment_rank".
"FROM".$GLOBALS['ecs']->table('article')."ASa".
"LEFTJOIN".$GLOBALS['ecs']->table('comment')."ASrONr.id_value=a.article_idANDcomment_type=1".
"WHEREa.is_open=1ANDa.article_id='$id'GROUPBYa.article_id";
$row=$GLOBALS['db']->getRow($sql);
if($row!==false)
{
$row['comment_rank']=ceil($row['comment_rank']);//用户评论级别取整
$row['add_time']=local_date($GLOBALS['_CFG']['date_format'],$row['add_time']);//修正添加时间显示
/*作者信息如果为空,则用网站名称替换*/
if(empty($row['author'])||$row['author']=='_SHOPHELP')
{
$row['author']=$GLOBALS['_CFG']['shop_name'];
}
}
return$row;
}