登录  /  注册
博主信息
博文 54
粉丝 3
评论 0
访问量 52131
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组与数组常用函数
王佳祥
原创
725人浏览过

数组与数组常用函数

一、字符串常用函数

  • URL处理函数

    1. <?php
    2. //URL处理函数
    3. //http://php.edu/070/demo1.php?id=1&name=张三
    4. //print_r($_GET);
    5. print_r($_SERVER['QUERY_STRING']);
    6. echo '<br>';
    7. //parse_str();将字符串解析成变量
    8. parse_str($_SERVER['QUERY_STRING'],$array);
    9. print_r($array);
    10. echo '<br>';
    11. // parse_url函数用于解析整个URL,并返回其组成部分
    12. print_r(parse_url('http://php.edu/070/demo1.php?id=1&name=admin'));


二、编码

1.base64_encode():将二进制数据进行编码后加密传输

  1. ```
  2. //base64_encode():将二进制数据进行编码后加密传输,图片

$img = base64_encode(file_get_contents(‘1.jpg’));
echo $img;

  1. ```


  • 输出图片
  1. <?php
  2. echo "<img src=\"data:image/jpeg;base64,{$img}\">";


2. file_put_contents() 函数把一个字符串写入文件中

  1. <?php
  2. file_put_contents('123.jpg',base64_decode($img));
  3. echo "<img src=\"123.jpg\">";




3.md5函数

  1. <?php
  2. echo md5('1234'),'<br>';//返回一个32位的字符串
  3. echo sha1('1234'),'<br>';//返回一个40位的字符串
  4. echo md5(sha1(md5('1234')));


  1. <?php
  2. //md5_file():只要这个文件被更新过,它的返回值就会发生变化
  3. echo 'demo1.php的md5 = ' . md5_file('demo1.php') . '<br>';
  4. file_put_contents('md5file.txt',md5_file('demo1.php'));




  1. if(md5_file('demo1.php') === file_get_contents('md5file.txt')){
  2. echo '文件没有更新过';
  3. }else{
  4. echo '文件已经被修改过';
  5. }




三、数组

1.索引数组

  1. <?php
  2. $arr = ['中国','俄罗斯','巴基斯坦'];
  3. printf('<pre>%s</pre>',print_r($arr,true));


2.关联数组

  1. //关联数组,键的类型是字符串
  2. $arr = ['姓名'=>'张三','年龄'=>20,'性别'=>'男','身高'=>170];
  3. //关联数组的元素访问与数组中的位置无关,只与它的键名相关
  4. printf('<pre>%s</pre>',print_r($arr,true));


3.数组的创建:以追加的方式创建数组

  1. <?php
  2. $arr = [];
  3. $arr[] = '诸葛亮';
  4. $arr[] = '刘备';
  5. $arr[] = '关云长';
  6. $arr[] = '张飞';
  7. printf('<pre>%s</pre>',print_r($arr,true));
  8. $arr = [];
  9. $arr['军师'] = '诸葛亮';
  10. $arr['主公'] = '刘备';
  11. $arr['前将军'] = '关云长';
  12. $arr['车骑将军'] = '张飞';
  13. printf('<pre>%s</pre>',print_r($arr,true));


4.多维数组

  1. $arr = [
  2. 0=>['姓名'=>'张三','年龄'=>20,'性别'=>'男'],
  3. 1=>['姓名'=>'王红','年龄'=>21,'性别'=>'女'],
  4. 2=>['姓名'=>'刘淑安','年龄'=>20,'性别'=>'女'],
  5. ];
  6. printf('<pre>%s</pre>',print_r($arr,true));


5.数组的遍历

  • 用指针逐个遍历
  1. <?php
  2. //数组的遍历
  3. //1.使用数组指针逐个遍历
  4. $arr = ['姓名'=>'张三','年龄'=>'25','性别'=>'男','身高'=>'170','体重'=>'130'];
  5. //current():获取指针当前位置的数组元素的值value
  6. //key():获取指针当前位置的数组元素的键key
  7. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  8. next($arr);//指针下移
  9. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  10. next($arr);
  11. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  12. next($arr);
  13. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  14. next($arr);
  15. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  16. prev($arr);//指针前移
  17. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  18. end($arr);//指针移到最后一个元素的位置
  19. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  20. reset($arr);//指针复位,指针回到第一个元素的位置
  21. printf('[\'%s\'] => %s<br>',key($arr),current($arr));


  • 用while循环来遍历数组
  1. //用循环来实现遍历
  2. while(true){
  3. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  4. if(next($arr)) continue;
  5. else break;
  6. }


  • 用for循环遍历数组
  1. //for循环
  2. reset($arr);
  3. for($i = 0;$i < count($arr);$i++){
  4. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  5. next($arr);
  6. }


  • foreach循环遍历数组
  1. //foreach循环
  2. foreach($arr as $key => $value){
  3. echo "['{$key}'] => $value <br>";
  4. }


  • 二维数组的遍历
  1. //二维数组的遍历
  2. $arrs = [
  3. ['姓名'=>'刘莉','性别'=>'女','年龄'=>'20'],
  4. ['姓名'=>'周平','性别'=>'男','年龄'=>'22'],
  5. ['姓名'=>'王苒','性别'=>'女','年龄'=>'19']
  6. ];
  7. foreach($arrs as $value){
  8. foreach($value as $key => $arr){
  9. echo "['{$key}'] => $arr<br>";
  10. }
  11. }
  12. echo '<hr>';
  13. foreach($arrs as $value){
  14. printf('姓名=%s,性别=%s,年龄=%s<br>',$value['姓名'],$value['性别'],$value['年龄']);
  15. }


  • list()解构/解析遍历数组
  1. //list()解构/解析:索引数组
  2. list($a,$b,$c)=[1,2,3];
  3. echo $a,$b,$c;
  4. echo '<hr>';
  5. //list()解构/解析:关联数组
  6. list('a' => $a,'b' => $b,'c' => $c)=['a' => 1,'b' => 2,'c' => 3];
  7. echo $a,'===>',$b,'===>',$c;
  8. echo '<hr>';
  9. foreach($arrs as list('姓名'=>$name,'性别'=>$sex,'年龄'=>$age)){
  10. printf('姓名=%s,性别=%s,年龄=%s<br>',$name,$sex,$age);
  11. }


  • foreach遍历对象
  1. $obj = new stdClass;
  2. $obj ->name ='孙悟空';
  3. $obj ->sex ='男';
  4. $obj ->age ='1000';
  5. foreach ($obj as $key => $value){
  6. echo "$key => $value<br>";
  7. }


学习总结

1.url处理函数

  1. parse_url函数用于解析整个URL,并返回其组成部分
  2. parse_str();将字符串解析成变量

2.编码

  1. base64_encode():将二进制数据进行编码后加密传输
  2. file_put_contents() 函数把一个字符串写入文件中
  3. md5()sha1()加密函数

3.数组

  1. 索引数组,默认键值从0开始
  2. 关联数组,键值是字符串
  3. next();指针下移 prev();指针前移 end();指针移到最后的位置 reset();指针复位
  4. current():获取指针当前位置的数组元素的值value
  5. key():获取指针当前位置的数组元素的键key
  6. continue命令会终止循环体的单次循环,代码并继续往下执行下去
  7. break会终止循环体的遍历
  8. while循环遍历数组
  9. while(true){
  10. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  11. if(next($arr)) continue;
  12. else break;
  13. }
  14. for循环遍历数组
  15. for($i = 0;$i < count($arr);$i++){
  16. printf('[\'%s\'] => %s<br>',key($arr),current($arr));
  17. next($arr);
  18. }
  19. foreach循环遍历数组
  20. foreach($arr as $key => $value){
  21. echo "['{$key}'] => $value <br>";
  22. }
  23. foreach循环遍历二维数组
  24. foreach($arrs as $value){
  25. foreach($value as $key => $arr){
  26. echo "['{$key}'] => $arr<br>";
  27. }
  28. }
  29. foreach($arrs as $value){
  30. printf('姓名=%s,性别=%s,年龄=%s<br>',$value['姓名'],$value['性 别'],$value['年龄']);
  31. }
  32. list()解构/解析遍历数组
  33. foreach($arrs as list('姓名'=>$name,'性别'=>$sex,'年龄'=>$age)){
  34. printf('姓名=%s,性别=%s,年龄=%s<br>',$name,$sex,$age);
  35. }
批改老师:GuanhuiGuanhui

批改状态:合格

老师批语:这几种循环一定要合理使用!
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学