php 中常用数组操作 数组分割 次数 键名差集
//
$array=array(1,1,1,1,1,8=>1,4=>1,19,3=>13); //创建数组
print_r($array); //输出数组内容
//
$a=array('green','red','yellow'); //定义第一个数组
$b=array('avocado','apple','banana'); //定义第二个数组
$c=array_combine($a,$b); //用前两个数组值作为新数组的键与值
print_r($c); //输出新建的数组
//
foreach(range(0,12)as $number) //返回数组0-12
{
echo $number.",";
}
echo "<p>";
foreach(range(0,100,10)as $number) //返回数组0,10,20……100
{
echo $number.",";
}
echo "<p>";
foreach(range('a','i')as $letter)
{
echo $letter.",";
}
echo "<p>";
foreach(range('c','a')as $letter) //返回数组c,b,a
{
echo $letter.",";
}
//
$input_array=array('a','b','c','d','e'); //定义初始数组
print_r(array_chunk($input_array,2)); //将数组分割,不保留原数组键名
print_r(array_chunk($input_array,2,true)); //将数组分割,保留原数组键名
//
$array=array(1,"hello",1,"php","hello"); //定义一个数组
print_r(array_count_values($array)); //把原数组元素出现次数赋值给新数组并显示
//
$array1=array("a"=>"green","b"=>"brown","c"=>"blue","red"); //定义数组1
$array2=array("a"=>"green","yellow","red"); //定义数组2
$result=array_diff_assoc($array1,$array2); //把两个数组的差集赋值给数组
print_r($result); //输出差集的内容
//
$array1=array('blue'=>1,'red'=>2,'green'=>3); //定义数组1
$array2=array('green'=>4,'blue'=>5,'yellow'=>6); //定义数组2
$result=var_dump(array_diff_key($array1,$array2)); //对键名计算差集
print_r($result);
//
//定义回调函数
function key_compare_func($a, $b)
{
if($a==$b)
{
return 0; //如果两参数相等,返回0
}
return($a>$b)?1:-1; //如果$a>$b返回1,小于则返回-1
}
//分别定义两个数组
$array1=array("a"=>"green","b"=>"brown","c"=>"blue","red");
$array2=array("a"=>"green","yellow","red");
//用回调函数做索引检查来计算数组的差集
$result=array_diff_uassoc($array1,$array2,"key_compare_func");
print_r($result);
in_array() 函数在数组中搜索给定的值。
语法
in_array(value,array,type)
*/
代码如下 | 复制代码 |
$os_list=array("mac","nt","irix","linux"); //定义数组 if(in_array("irix",$os_list)) //检查数组中是否存在lrix { echo "当前操作系统列表中存在lrix"; //如果存在,输出内容 } echo "<br>"; if(!in_array("mac",$os_list)) { echo "当前操作系统列表中不存在mac"; //区分大小写所以该句不会被执行 } |
/*
in_array 如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。
如果没有在数组中找到参数,函数返回 false。
注释:如果 value 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。
定义和用法
语法
count(array,mode)
count() 函数计算数组中的单元数目或对象中的属性个数。
对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 count_recursive(或 1),则会递归底计算多维数组中的数组的元素个数。
//数组长度
*/
代码如下 | 复制代码 |
$a[0]=1; //通过分别赋值,建立一个数组$a[] $a[1]=3; $a[2]=5; $result=count($a); //返回数组$a的元素个数3 echo $result; echo "<br>"; $b[0]=7; $b[5]=9; $b[10]=11; $result=count($b); //返回数组$b的元素个数3 echo $result; echo "<br>"; $result=count(null); //返回0 echo $result; echo "<br>"; $result=count(false); //返回1 echo $result; |
/*
提示和注释
注释:当变量未被设置,或是变量包含一个空的数组,该函数会返回 0。可使用 isset() 变量来测试变量是否被设置。
*/
$array1=array("a"=>"green","red","blue");
$array2=array("b"=>"green","yellow","red");
$result=array_intersect($array1,$array2);//计算交集并赋值
print_r($result);
//
$search_array=array('first'=>1,'second'=>4); //定义数组
if(array_key_exists('first',$search_array)) //判断键是否存在于数组中
{
echo "the 'first' element is in the array"; //输出相应信息
}
//
$ar1=array("color"=>array("favorite"=>"red"),5);
$ar2=array(10,"color"=>array("favorite"=>"green","blue"));
$result=array_merge_recursive($ar1,$ar2); //合并两个数组返回一个结果数组
print_r($result); //输出结果
//
$array1=array("color"=>"red",2,4);
$array2=array("a","b","color"=>"green","shape"=>"trapezoid",4);
$result=array_merge($array1,$array2); //合并两个数组
print_r($result); //输出结果内容
//
$ar1=array("10",100,100,"a"); //定义数组1
$ar2=array(1,3,"2",1); //定义数组2
array_multisort($ar1,$ar2); //排序2个数组
var_dump($ar1); //打印排序后的结果
var_dump($ar2); //打印排序后的结果
//
$stack=array("orange","banana","apple","rasp教程berry"); //定义一个数组
$fruit=array_pop($stack); //最后一个元素出栈
print_r($stack); //显示结果
//
$stack=array("orange", "banana"); //定义原始数组
array_push($stack,"apple","raspberry"); //执行压栈操作
print_r($stack); //显示结果,将返回四个值
//
srand((float)microtime()*10000000); //为随机数发生器播种
$input=array("neo","morpheus","trinity","cypher","tank"); //定义原始数组
$rand_keys=array_rand($input,2); //随机挑选数组元素
print $input[$rand_keys[0]]."n"; //分别显示随机挑选的数组元素
print $input[$rand_keys[1]]."n";
定义和用法
header() 函数向客户端发送原始的 http 报头。
认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 php 4 以及更高的版本中,您可以使用输出缓存来解决此问题):
location
refresh
content-type
expires(意思为终止)
last-modified等。
location – 浏览器显示指定的网页。
格式: header(“location: http://绝对地址”);
location 的地址必须是一个绝对地址。
refresh
refresh – 更新网页。
<html>
<?php
// 结果出错
// 在调用 header() 之前已存在输出
header('location: http://www.111cn.net/');
?>语法
header(string,replace,http_response_code)
该函数防止一次发送多个报头
<?php
// date in the past
header("expires: mon, 26 jul 1997 05:00:00 gmt");
header("cache-control: no-cache");
header("pragma: no-cache");
?>
提示用户保存一个生成的 pdf 文件(content-disposition 报头用于提供一个推荐的文件名,并强制浏览器显示保存对话框):
当时间超过指定时间就表示网页内容已经失效。 其格式如下
expires = “expires:” http-date
例 如: header(“expires: fri, 31 oct 2003 18:00:00 gmt”); 表示2003年10月31日星期五 18时。
header(“expires: wed, 30 jun 2004 09:00:00 gmt”); 表示2004年6月30日星期三 9时。
last-modified = “last-modified” “:” http-date
例如 header(“last-modified: wed, 01 jan 2003 12:00:00 gmt”); 上次修改时间2003年1月1日12时
cache control
no-cache 使得服务器的数据可以传送到远程的使用者, 而不会被暂存 (cache) 起来。
no-store 是预防不良的版本或者是敏感的信息被保留下来。
must-revalidate 是指必须要再评估信息, 如果暂存 (cached) 的数据是无效的则让服务器与使用者端联机
date 是说明数据内容的建立日期及时间。 其格式如下: date = “date:” http-date
范例: header(“date: sun, 15 feb 2004 08:00:00 gmt”); 建立日期是2004年2月15日8时。
<?php
header("content-type:application/pdf");// 文件将被称为 downloaded.pdf
header("content-disposition:attachment;filename='downloaded.pdf'");// pdf 源在 original.pdf 中
readfile("original.pdf");
?>
定义和用法each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动
返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
如果内部指针越过了数组范围,本函数将返回 false。
*/
$sports = array(
'football' => 'good',
'swimming' => 'very www.111cn.net',
'running' => 'not good');
while (list($key,$value) = each($sports))
{
echo $key.": ".$value."<br />";
}
/*
定义和用法
list() 函数用数组中的元素为一组变量赋值。
注意,与 array() 类似,list() 实际上是一种语言结构,不是函数。
*/
$sports = array(
'football' => 'good',
'swimming' => 'very well',
'running' => 'not www.111cn.net');
while ($elem = each($sports)) {
echo $elem['key'].": ".$elem['value']."<br />";
}
相关文章
- 这篇文章主要介绍了C# 10个常用特性,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-09
- 下面小编就为大家带来一篇JS中判断字符串中出现次数最多的字符及出现的次数的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-06-12
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
这篇文章主要介绍了JS+JSP通过img标签调用实现静态页面访问次数统计的方法,基于JavaScript动态调用jsp页面通过对TXT文本文件的读写实现统计访问次数的功能,需要的朋友可以参考下...2015-12-16- 这篇文章主要介绍了Postgresql 动态统计某一列的某一值出现的次数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-26
- 这篇文章主要介绍了Servlet实现统计页面访问次数功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-08
- 这篇文章介绍了php中常用的数组与函数,非常具有价值,有兴趣的同学可以参考一下 本文实例总结了php常用数组函数。分享给大家供大家参考,具体如下: 1. array array_mer...2016-12-31
- PHP编程常用技巧四则: 1.配置PHP文件目录 作为服务器端解释执行的脚本语言,PHP程序放置在某个服务器可以访问的目录下,一般可以通过修改Apache的httpd.conj...2016-11-25
- 本文章来收藏了大量的关于在css中hack的用法及在不同浏览器下hack语法写法,有需要了解的朋友可参考一下。 区别不同浏览器的CSS hack写法: 区别IE6与FF: b...2017-07-06
- 这篇文章主要给大家介绍了关于C#开发中经常用的加密解密方法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
从零开始的html教程之CSS篇(3):常用的字体与文本属性
一聚教程网 从零开始的html教程之CSS篇(2),介绍了css中常用的文字文本属性。这系列教程讲解CSS叠层样式表的知识,希望大家喜欢! 一、css常用的字体属性 1.字体的设置...2017-01-22- 本文详细总结了Pycharm的常用快捷键,下文介绍使用方法和场景, 并不需要记忆这些快捷键, 你只需要知道有这些快捷键, 再需要用的时候查看一下, 用的多了自然也就记住了,需要的朋友可以参考下...2021-05-13
- 比如一个字符串"a,b,a,c,b,b,d",现在我们要统计每个字符串出现次数。解决这个问题,我们可以使用泛型集合 Dictionary(TKey,TValue)。它有一个key值用来存储字符串和一个value值,用来存储字符串出现的次数...2021-09-22
- <?php array_values() //返回数组中所有元素 array_walk() //使用自定义函数遍历数组都一个单元 arsort(); //保留数组下标于值的关系进行倒序排列 asort() //保留...2016-11-25
- PHP的功能描述 ABS装置( )返回绝对值的第3号 acos ( )返回arccosine的第3号 acosh ( )返回逆双曲余弦的4号 阿辛( )返回反正弦的第3号 asinh ( )返回逆双曲正弦的4号...2016-11-25
- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说三个日系常用调色的技巧心得,各位想知道具体调色技巧的使用者们,那么大家就快来跟着来看一下吧。 ...2016-10-10
- 网站合理的架构,推广过程中选择合适的宣传方式,网站扎实的基础建设以及网站功能的质量,是影响网站单位用户点击量的几个比较重要的原因。 首先,出现这种情况的原因应该在于...2017-07-06
- */ $hash_list=hash_algos(); //返回注册的hash规则列表 print_r($hash_list); //显示结果 /*创建文件以计算哈希值*/ file_put_contents('example....2016-11-25
- PHP执行系统命令的有几个常用的函数,如有:system函数、exec函数、popen函数,passthru,shell_exec函数他们都可以执行系统命令,不过前提时必须系统给了权限了哦。 s...2016-11-25
- strip_tags函数是过滤字符串中的html标签了,今天我们一起来看看这strip_tags函数的具体使用方法了,希望例子能够对各位有用。 A,定义和用法 strip_tags() 函数去除...2016-11-25
- 有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 一、连接MYSQL。 格式: mys...2016-11-25