关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2682
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
php数组函数常见的那些? (array_merge、in_array的作用)
PHP中以array_开头的数组函数有哪些,并说出使用方法(至少6个)
一、数组遍历函数
<?php // list(); //不是真正的函数,而是PHP的语言结构,用于给一组变量赋值,仅能用于索引数组 // each(); //返回数组当前元素的键值对,并将指针移动到下一个元素位置 // while(); //可配合list或each使用:while(list($key, $value) = each($arr)){each $key, $value; } $arr = array('a','b','c'); while (list($key, $value) = each($arr)) { echo $key, $value; echo '<br>'; } ?>
二、数组内部指针控制
<?php // current(); //读取指针位置的内容 // key(); //读取当前指针指向内容的索引值 // next(); //将数组中的内部指针指向下一单元 // prev(); //将数组内部指针倒回一位 // end(); //将数组内部指针指向最后一个元素 // reset(); //将目前指针指向第一个索引位置 $people = array("Bill", "Steve", "Mark", "David"); echo current($people) . "<br>"; // 当前元素是 Bill echo next($people) . "<br>"; // Bill 的下一个元素是 Steve echo current($people) . "<br>"; // 现在当前元素是 Steve echo prev($people) . "<br>"; // Steve 的上一个元素是 Bill echo end($people) . "<br>"; // 最后一个元素是 David echo prev($people) . "<br>"; // David 之前的元素是 Mark echo current($people) . "<br>"; // 目前的当前元素是 Mark echo reset($people) . "<br>"; // 把内部指针移动到数组的首个元素,即 Bill echo next($people) . "<br>"; // Bill 的下一个元素是 Steve var_dump (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针 ?>
三、数组键值操作函数
<?php $arr = array("Name"=>"Bill","Age"=>"60","Country"=>"USA",'Weight'=>"60"); var_dump($arr); // array_values() 获得数组的值 var_dump(array_values($arr)); // array_keys() 获得数组的键名 var_dump(array_keys($arr)); // array_flip() 数组中的值与键名互换(如果有重复前面的会被后面的覆盖) var_dump(array_flip($arr)); // array_search() 函数在数组中搜索某个键值,并返回对应的键名。 echo array_search('Bill',$arr); // 返回值为Name // array_reverse()将数组中的元素翻转(前后顺序) var_dump(array_reverse($arr)); // in_array() 函数搜索数组中是否存在指定的值。 // 注释:如果 search 参数是字符串且 type 参数被设置为 TRUE,则搜索区分大小写。 if (in_array("bill", $arr,true)){ echo "匹配已找到"; }else{ echo "匹配未找到"; } // array_key_exists() 函数检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。 // 键区分大小写 if (array_key_exists("Name",$arr)){ echo "键存在!"; }else{ echo "键不存在!"; } // array_count_values() 统计数组中所有值出现的次数 var_dump(array_count_values($arr)); // array_unique() 删除数组中重复的值 var_dump(array_unique($arr)); ?>
四、数组回调函数
<?php // array_filter() 使用回调函数过滤数组中的元素,如果回调返回true则当前的元素被包含到返回数组中 function test_odd($var){ return($var & 1); // &是位运算符 3 & 1返回1,即true,所以下面的回调函数返回Array ( [3] => 3 ) } $a1 = array("a","b",2,3,4); print_r(array_filter($a1,"test_odd")); // array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。 function myfunction($value,$key){ echo "The key $key has the value $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); // array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。 function myfunction2($v){ return ($v*$v); } $a = array(1,2,3,4,5); print_r(array_map("myfunction2",$a)); ?>
五、数组的分段和填充
<?php // array_slice($arr, 0, 3); //将数组中的一段取出,此函数忽略键名(数组的分段) $a = array("red","green","blue","yellow","brown"); print_r(array_slice($a,2,2)); // array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。 // 提示:如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组(参见例子 2)。 // 注释:不保留被替换数组中的键名。 $a1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2 = array("a"=>"purple","b"=>"orange"); print_r(array_splice($a1,0,2,$a2)); print_r($a1); // array_chunk($arr, 3, TRUE); //将一个数组分割成多个,TRUE为保留原数组的键名(分割多个数组) $cars = array("Volvo","BMW","Toyota","Honda","Mercedes","Opel"); print_r(array_chunk($cars,4,true)); ?>
六、数组与栈,列队
<?php $arr = array('a','b','c'); // array_push($arr, "apple", "pear") 将一个或多个元素压入数组栈的末尾(入栈),返回新数组的长度 echo array_push($arr, "apple", "pear"); var_dump($arr); // array_pop($arr) 将数组栈的最后一个元素弹出(出栈) echo array_pop($arr); var_dump($arr); // array_shift($arr); //数组中第一个元素移出并返回(长度减1,其他元素向前移动一位,数字键名改为从零计数,文字键名不变) echo array_shift($arr); var_dump($arr); // array_unshift($arr,"aa",array(1,2)); //在数组的开头插入一个或多个元素,该函数返回新数组的长度 echo array_unshift($arr,"aa",array(1,2)); var_dump($arr); ?>
七、数组的排序
<?php $arr = array('a','b','c'); // sort($arr); //由小到大,忽略键名 sort($arr); var_dump($arr); // rsort($arr); //由大到小,忽略键名 rsort($arr); var_dump($arr); // asort($arr); //由小到大,保留键名 asort($arr); var_dump($arr); // arsort($arr); //由大到小,保留键名 arsort($arr); var_dump($arr); // ksort($arr); //按照键名正序排序 ksort($arr); var_dump($arr); // krsort($arr); //按照键名逆序排序 krsort($arr); var_dump($arr); ?>
八、数组的计算
<?php $arr1 = array(1,2,3,4,5); $arr2 = array(4,7,8,9); // array_sum($arr); //对数组内部的所有元素做求和运算(数组元素的求和) echo array_sum($arr1); // array_merge($arr1, $arr2); //合并两个或多个(相同字符串键名,后面覆盖前面,相同的数字键名,后面的附加到后面) var_dump(array_merge($arr1, $arr2)); // array_diff($arr1, $arr2); //返回差集结果数组 var_dump(array_diff($arr1, $arr2)); // array_diff_assoc($arr1, $arr2, $arr3); //返回差集结果数组,键名也做比较 var_dump(array_diff_assoc($arr1, $arr2)); // array_intersect($arr1, $arr2); //返回交集结果数组 var_dump(array_intersect($arr1, $arr2)); // array_intersect_assoc($arr1, $arr2); //返回交集结果数组,键名也做比较 var_dump(array_intersect_assoc($arr1, $arr2)); ?>
九、其他的数组函数
<?php $arr = array('a'=>1,'b'=>2,'c'=>3,'d'=>2); // array_unique($arr); //移除数组中重复的值,新的数组中会保留原始的键名 $result = array_unique($arr); var_dump($result); // shuffle($arr); // 将数组的顺序打乱 shuffle($arr); var_dump($arr); ?>
赏


相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。
<?php
// 需开启配置 php_zip.dll
// phpinfo();
header("Content-type:text/html;charset=utf-8");
/*
* $filename 被解压文件名
* $path 解压...
openssl_private_decrypt解密失败
复制别人的解密程序,原程序可以解密,复制过来就不可以
一步步尝试发现,秘钥换行符有区别,
原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论加载中...
后一篇: php中&&与&有什么区别