找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 131|回复: 0
打印 上一主题 下一主题

PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-14 05:33:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例总结了PHP数组用法。分享给大家供大家参考,具体如下:
Demo1.php
张三 [1] => 李四 [2] => 王五 )
  //$userNames 是一个数组变量,而 $userNames[x] 可以理解成数组变量下的小变量
  $userNames[4] = '赵七';
  print_r($userNames);//Array ( [0] => 张三 [1] => 李四 [2] => 王五 [4] => 赵七 )
?>
Demo2.php
1 [1] => 2 [2] => 3 [3] => 4 )
// $letters = range('a','e');
// print_r($letters);//Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
// echo $letters[3];
?>
Demo3.php
'.$userNames[$i].'
';
// }
  /*
   * 1-->张三
   * 2-->李四
   * 3-->王五
   * */
// echo count($userNames); //3
// for($i=0;$i'.$userNames[$i].'
';
// }
  //如果 key 不是从 0 开始,或者说,压根不是数字,那么就无法用无精打采循环来实现显示数据列表
  //通过 foreach 循环来遍历数组,这方式好处,不需要去考虑 key
// foreach ($userNames as $value){
//   echo $value.'
';
// }
  //foreach 遍历 $key => $value
// foreach ($userNames as $keyaaa => $value){
//   echo $keyaaa.'-->'.$value.'
';
// }
  /**
   * 0-->张三
   * 1-->李四
   * 2-->王五
   * */
  //所以,你要先做个判断
  if(is_array($userNames)){
    foreach ($userNames as $key => $value){
      echo $key.'-->'.$value.'
';
    }
  }else{
    echo $userNames;
  }
?>
Demo4.php
Demo5.php
'张三','李四','王五');
// print_r($userNames); //Array ( [baidu] => 张三 [0] => 李四 [1] => 王五 )
  $userNames = array('baidu'=>'张三','taobao'=>'李四','360'=>'王五');
  print_r($userNames); //Array ( [baidu] => 张三 [taobao] => 李四 [360] => 王五 )
  echo $userNames['baidu'];
?>
Demo6.php
25);
  //打印出 chaoyv 的年龄
  //echo $userAge['chaoyv']; //25
  //将以前的数组,追加两条,这里说的下标,键,key 是一个东西
  $userAge['yike'] = 30;
  $userAge['wife'] = 24;
  print_r($userAge);
?>
Demo7.php
25 )
  $userAges['yike'] = 30;
  $userAges['wife'] = 24;
  //print_r($userAges); //Array ( [chaoyv] => 25 [yike] => 30 [wife] => 24 )
  //这里无法使用 for 循环将数据全部显示出来,只能通过 foreach 遍历出来
  foreach ($userAges as $value){
    echo $value.'
';
  }
?>
Demo8.php
'何开','血'=>'赵血儿','学'=>'墨学之');
  //print_r($username);
  //each 的使用
  //each -- 返回数组中当前的键/值对并将数组指针向前移动一步
  //这里有一个指针,默认情况下,指针是指定第一个键值对
  //这里的第一个键值对是 '世'=>'何开'
  //如果each($username),那么获取的就是第一个键值对 '世'=>'何开'
  //each 这个函数返回的是一个数组,
  //each 将第一个键值对获取到,然后包装成一个新的数组。
  //print_r(each($username));
  //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 )
  //$a = each($username);
  //echo $a[value];
  print_r(each($username));
  echo '
';
  print_r(each($username));
?>
Demo9.php
'何开','血'=>'赵血儿','学'=>'墨学之');
  //这里,我们怎么使用 each 来循环所有的数据呢?
  //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 )
  //两个感叹号,表示真是存在的数据转换成布尔值
// echo !!each($username);//说明有数据,有数据,用布尔值的理念就是真(true)
// echo !!each($username);
// echo !!each($username);
// echo !!each($username);//第四个是假的
  while (!!$a = each($username)){
    echo $a['key'].'-->'.$a['value'].'
';
  }
// $a = each($username);
// echo $a[0].'---'.$a[1].'
';
// $a = each($username);
// echo $a[0].'---'.$a[1].'
';
// $a = each($username);
// echo $a[0].'---'.$a[1].'
';
// /**
//  * 世---何开
//  * 血---赵血儿
//  * 学---墨学之
//  * */
?>
Demo10.php
'何开','血'=>'赵血儿','学'=>'墨学之');
// $a = each($usernames);
// //世-->何开
// echo $a['key'];
// echo '-->';
// echo $a['value'];
// $a = each($usernames);
// //血-->赵血儿
// echo $a['key'];
// echo '-->';
// echo $a['value'];
// //list -- 把数组中的值赋给一些变量
// $a = array('aaa','bbb','ccc','ddd');
////  print_r($a);//Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd )
// list($var1,$var2,$var3,$var4) = $a;
// echo $var4;
// $usernames = array(0=>'何开','血'=>'赵血儿','学'=>'墨学之');
// //list 只能认识 key 为数字的
// //自定义的字符串 key 是无法使用 list 来识别的
// list($a,$b,$c) = $usernames;
// echo $a;//何开
  $usernames = array('世'=>'何开','血'=>'赵血儿','学'=>'墨学之');
  //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 )
  list($name,$username) = each($usernames);
  echo $username;
?>
Demo11.php
'何开','血'=>'赵血儿','学'=>'墨学之');
  $a =each($usernames);
  echo $a[key];
  $a =each($usernames);
  echo $a[key];
  //第三次,我想取数组的第一条数组
  //只要将数组的指针调整到第一个位置即可
  //reset -- 将数组的内部指针指向第一个单元
  reset($usernames);
  $a = each($usernames);
  echo $a[key];
  //世血世
?>
Demo12.php
'何开','境'=>'何开','血'=>'赵血儿','学'=>'墨学之');
// print_r($usernames);
// echo '
';
// //array_unique -- 移除数组中重复的值
// //创建了一个新数组,而新数组呢,已经移除掉了,旧的数组原封不动
// $a = array_unique($usernames);
// print_r($a);
  $numbers = array(1,24,2,1,3,4,2,6,4,2,4,56,2,4,5);
  print_r($numbers);
  $newNumbers = array_unique($numbers);
  print_r($newNumbers);
?>
Demo13.php
'何开','境'=>'何开','血'=>'赵血儿','学'=>'墨学之');
  print_r($usernames);
  echo '
';
  //array_flip -- 交换数组中的键和值
  $newUsernames = array_flip($usernames);
  print_r($newUsernames);
  /**
   * Array ( [世] => 何开 [境] => 何开 [血] => 赵血儿 [学] => 墨学之 )
   * Array ( [何开] => 境 [赵血儿] => 血 [墨学之] => 学 )
   * */
?>
Demo14.php
Demo15.php
Demo16.php
'苹果','数量'=>'6','价格'=>'28.8'),
    array('产品'=>'猪肉','数量'=>'3','价格'=>'25.8'),
    array('产品'=>'饼干','数量'=>'2','价格'=>'26.8')
  );
  //print_r($products)  ;
// for($i=0;$i $value){
//     echo $key.'--'.$value.'|';
//   }
//   echo '
';
// }
  for($i=0;$i
Demo17.php
2 [1] => 3 [2] => 12 )
// $numbers = array(2,12,3);
// sort($numbers,SORT_STRING);
// print_r($numbers);//Array ( [0] => 12 [1] => 2 [2] => 3 )
?>
Demo18.php
apple [1] => banner [2] => orange )
  asort($fruit);
  print_r($fruit);
  //Array ( [2] => apple [0] => banner [1] => orange )
?>
Demo19.php
'banner','o'=>'orange','a'=>'apple');
  //ksort -- 对数组按照键名排序
  ksort($fruit)  ;
  print_r($fruit);
  //Array ( [a] => apple => banner [o] => orange )
?>
Demo20.php
Demo21.php
Demo22.php
Demo23.php
'何开','血'=>'赵血儿','学'=>'墨学之');
  //默认情况下,指针在第一条数据
  //获取指针的当前元素,current 并没有将指针移到下一步
// echo current($username);
// echo current($username);
// echo current($username);
// echo next($username);
// echo current($username);
// echo next($username);
// echo current($username);
// //reset -- 将数组的内部指针指向第一个单元
// echo reset($username);
// echo sizeof($username);//count
  $numbers = array(1,4,5,656,7,5,7,4,7,4,5,7);
  //array_count_values -- 统计数组中所有的值出现的次数
  print_r(array_count_values($numbers));
?>
Demo24.php
'apple','b'=>'banner','c'=>'orange');
  //通过标量函数将字符串键(key)设置成变量,然后将值赋给了这个变量
  extract($fruits);
  echo $a;
  echo $c;
  echo $b;
  //appleorangebanner
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP 数组排序方法总结 推荐收藏
  • PHP 数组遍历方法大全(foreach,list,each)
  • PHP合并数组+与array_merge的区别分析
  • PHP数组操作汇总 php数组的使用技巧
  • php数组函数序列之array_unique() - 去除数组中重复的元素值
  • PHP删除数组中的特定元素的代码
  • PHP中数组合并的两种方法及区别介绍
  • PHP 数组和字符串互相转换实现方法
  • php数组(array)输出的三种形式详解
  • php获取数组长度的方法(有实例)
  • php中利用explode函数分割字符串到数组
  • php数组添加元素方法小结
  • PHP遍历数组的方法汇总
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端