设为首页 收藏本站
查看: 709|回复: 0

[经验分享] php学习笔记(六)数组及其相关处理函数

[复制链接]

尚未签到

发表于 2017-4-11 07:30:33 | 显示全部楼层 |阅读模式
  php数组及其相关处理函数

/**
* 数组
* 1.数组中可以存放不同类型的数据
* 2.数组可以进行扩充
*
* 数组的分类
* 1.索引数组:数组的索引值是整数,0开始
* 2.关联数组:数组以字符串作为索引值,相当于别名
*
*/
$arr[0]=133;
$arr[]=233;
$arr[]=333;
$arr[2]=433;
$arr[1]=533;
$arr[]=633;
$arr[]=733;
$arr[9]=733;
print_r($arr);
echo"<br>";
$person["name"]="sid";
$person["age"]="23";
$person["sex"]="man";
print_r($person);
echo"<br>";

$arr = array("age"=>1,2,"name"=>"one",3.333);
print_r($arr);
echo"<br>";
$arr["name"]="sid";
print_r($arr);
echo"<br>";


/**
* 数组的遍历
* 1.for只适合索引数组(弱类型,如果中间是空的也无法遍历)
* 2.foreach
* 3.while()的list和each方法
*      each方法只能取一次;循环第二时,已经取到最后了
*      list方法将数组复制给list方法中的参数(适合索引数组)
*/
for($i=0;$i<count($arr);$i++){}
foreach($arras$value){
echo$value."<br>";
}
foreach($arras$key=>$value){
echo$value."下标为key<br>";
}
$arr = array(array(1,2,3,4,5,55),array("one","two"),array("a",1,"b",2));
foreach($arras$key=>$value){
foreach($valueas$key=>$value){
echo$value."下标为key<br>";
}
}
$arr = array("age"=>1,2,"name"=>"one",3.333);
//传入数组,返回新数组;1和value对应值;0和key对应下标
while($a=each($arr)){
echo"下标:".$a[0]."---".$a["key"]."<br>";
echo"值:".$a[1]."---".$a["value"]."<br>";
}
list($a,$b,$c)=$arr;
echo$a."<br>";
echo$b."<br>";
echo$c."<br>";
$str = "uselib_one";
list($aa,$one) = explode("_", $str);
echo$one."<br>";
list($key,$value) = each($arr);
echo$key."<br>";
echo$value."<br>";

/**
* 数组的处理函数
* 1、current($arr)得到目前指针位置的内容
* 2、key($arr)得到当前位置的下标值
* 3、next($arr)下移动一位
* 4、prev($arr)前一个
* 5、end($arr)结尾
* 6、reset($arr)重新回到初始位置
* 7、count($arr)获取数组元素个数
* 8、sizeof($arr)获取数组长度
* 9、array_change_key_case($arr,CASE_UPPER/CASE_LOWER)将下标的英文字母传唤成大小写
* 10、array_chunk($arr,int size,boolean)分解数组每个小数组为size大小;true表示保留原有下标
* 11、array_count_values($arr)用来计算目标数组中各值出现的次数
* 12、array_fill(star,size,resourse);填满索引中指定位置的段内容
* 13、array_filter($arr,function)过滤目标数组中的内容,只返回返回true的数据
*      array_map(function,$arr)用来处理数组
*      array_walk(function,$arr)用来处理数组
* 14、array_flip($arr)将目标数组中的键与值反向;后转换的键会将前面相同的键覆盖掉
* 15、arra_sum计算目标数组中所以元素的总和
* 16、array_unique($arr)去除重复值
*/
$a=current($arr);
var_dump($a);
echo"<br>";
$a=key($arr);
var_dump($a);
echo"<br>";
$uparr = array_change_key_case($arr,CASE_UPPER);
var_dump($uparr);
echo"<br>";
$uparr = array_chunk($arr, 1,TRUE);
var_dump($uparr);
echo"<br>";
$uparr = array_count_values($arr);
var_dump($uparr);
echo"<br>";
array_fill(2,12,"asdfa");
var_dump($uparr);
echo"<br>";

$arr = array("age"=>1,-2,"name"=>"one",3.333);
//字符串默认当成0
functionfun1($value){
if($value>0)
return true;
else
return false;
}
$new = array_filter($arr,fun1);
var_dump($new);
echo"<br>";


$arr = array("age"=>1,-2,"name"=>8,3.333,2,2,3.333);
//字符串默认当成0
functionfun2($value){
return$value*$value;
}
$new = array_map(fun2,$arr);
var_dump($new);
echo"<br>";
var_dump(array_flip($arr));
echo"<br>";
var_dump(array_unique($arr));
echo"<br>";

/**
* 数组的高级函数
* 1、array_values()获取数值,并将key重新数字顺序
* 2、array_keys()返回数组的所有下标
* 3、in_array()查找某值是否在数组里面,返回boolean
*      第一个是元素,
*      第二个是数组,
*      第三个是是否按数据类型进行检索
* 4、array_search()查找某值是否在数组里面,返回对应的键名;不存在返回false
* 5、array_key_exists()判断下标是否存在数组中,返回boolean
* 6、extract()数组变量的转换(关联数组)
* 7、compact()变量转换成数组(变量必须事先存在)
* 8、数组与栈(后进先出)
*      array_push()压入数组末尾;返回数组的长度
*      array_pop()弹出数组最后一个元素
* 9、数组与队列(先进先出)
*      array_shift()在数组的开始弹出数据
*      array_unshift()在队列的开始加入元素
* 10、排序函数
*      忽略键名的排序
*         sort()、rsort()、usort()
*      保留键名的排序
*         asort()、arsort()、uasort()
*      根据键名进行排序
*         ksort()、krsort()、uksort()
*      自然数排序
*         natsort()、natcasesort()
* 11、数组中计算函数
*      array_sum()元素之和
*      array_merge()合并数组函数
*      array_merge_recursive()
*      array_diff()数组的差值(完全删除相同的元素);只返回第一个数组的元素
*      array_diff_assoc()
*      array_intersect()数组的交集(完全删除不同的元素);只返回第一个数组的元素
*      array_intersect_asseoc()
* 12、
* 13、
* 14、
*/
$arr = array("one"=>1,"two"=>"2",10=>"abc",123=>"100");
var_dump(array_values($arr));
echo"<br>";
var_dump(in_array(100,$arr));
var_dump(in_array(100,$arr,true));
echo"<br>";
extract($arr);
var_dump($one);
var_dump($two);
echo"<br>";
$two="sdf";
$one="123";
$three="sdfw2";
$arr = compact("one","two","three");
var_dump($arr);
echo"<br>";
array_push($arr,"one","two","three");
var_dump($arr);
echo"<br>";
$val = array_pop($arr);
var_dump($val);
echo "<br>";

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-363097-1-1.html 上篇帖子: 一个很不错的汉字转化为拼音的函数 php 下篇帖子: 使用php来读取纯真ip数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表