php 自定义函数传数组,php开发之自定义函数及数组

本文将介绍一些PHP开发中自定义函数和数组相关的知识,PHP开发者可以关注一下。

一、自定义函数

自定义函数就是我们自己定义的函数,在PHP中自定义函数格式如下:

function funname(arg1, arg2, arg3......){

//TODO

return values;

}

function fun($m, $n){

if($m==0 || $n==0){

return 0;

}else{

$a=$m*$n;

return $a;

}

}

$p=2;

$h=3;

echo $p."*".$h."=".fun($p,$h);

?>

输出结果: 2*3=6

下面再举一个可变参数的函数<?php

/*

function fun($m, $n){

if($m==0 || $n==0){

return 0;

}else{

$a=$m*$n;

return $a;

}

}

$p=2;

$h=3;

echo $p."*".$h."=".fun($p,$h); */

function fun($m, $n=1, $x=2){

$a=$m*$n*$x;

return $a;

}

$p=2;

echo fun($p)."
"; // 2*1*2 = 4

echo fun($p, 3)."
"; // 2*3*2 = 12

echo fun($p, 3, 3)."
"; // 2*3*3 = 18

?>

输出结果:

4

12

18

再来看看自定义函数引用传递<?php

/*

function fun($m, $n){

if($m==0 || $n==0){

return 0;

}else{

$a=$m*$n;

return $a;

}

}

$p=2;

$h=3;

echo $p."*".$h."=".fun($p,$h);

*/

/*

function fun($m, $n=1, $x=2){

$a=$m*$n*$x;

return $a;

}

$p=2;

echo fun($p)."
"; // 2*1*2 = 4

echo fun($p, 3)."
"; // 2*3*2 = 12

echo fun($p, 3, 3)."
"; // 2*3*3 = 18

*/

function fun(&$n){

$n=$n*$n;

}

$p=2;

fun($p);

echo $p;

?>

输出结果: 4

二、数组定义赋值

1、数组基本写作格式

简单形式:array(值1, 值2, 值3, …….)

array(“aa”, 12, true, 2.2, “test”, 50); //通过数组下标获得数据

完整形式:array(键1=>值1, 键2=>值2, ……)

array(“title”=>”aa”, “age”=>20); //只能通过键名获得数据

2、创建数组的方式

//第一种

$arr1=array(11, 22, 33, "44");

//第二种

$arr2=array('a'=>'11', 'b'=>'22');

//第三种

$arr3[0]='20';

$arr3[1]='30';

三、数组操作

1、修改$arr=array(11, 22, 33, 44);

$arr[0]=55; //数组变为$arr=array(55, 22, 33, 44);

2、删除$arr=array(11, 22, 33, 44);

unset($arr[0]); //数组变为$arr=array(22, 33, 44);

3、使用$arr=array(11, 22, 33, 44);

echo $arr[0];

$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);

echo $arr['b']];

4、遍历$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);

foreach($arr as $value){ //无键名

echo $value."
";

}

foreach($arr as $id=>$value){ //输出键和值

echo $id."__".$value."
";

}

四、二维数组$arr=array(array("1","11","111"), array("2","22","222"));

echo $arr[1][2];

五、数组函数

(1)array_change_key_case(array, case)

array:必需,数组。

case:可选,CASE_LOWER(默认值,小写字母返回数组的键),CASE_UPPER(大写字母返回数组的键)

作用:将数组的所有的 KEY 都转换为大写或小写。

2.

$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");

3.

print_r(array_change_key_case($a,CASE_UPPER));

4.

?>

5.

结果:Array ( [A] => Cat [B] => Dog [C] => Horse )

(2)array_chunk(array,size,preserve_key)

array:必需。

size:必需,规定每个新数组包括多少元素。

preserve_key:可选,true(保留键名),false(新索引)

作用:把一个数组分成新的数组块。<?php

//array_chunk(array,size,preserve_key)

$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");

print_r(array_chunk($a1,2));

$a2=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");

print_r(array_chunk($a2,2,true));

?>

结果:

Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array ( [0] => Horse [1] => Cow ) )

Array ( [0] => Array ( [a] => Cat [b] => Dog ) [1] => Array ( [c] => Horse [d] => Cow ) )

…….

像这样的函数很多,可以在用的时候再查。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求:模拟浏览器的行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值