php数组的创建及操作

  //数组的创建
  //1
   $usernames = array(‘李彦宏‘,‘周宏伟‘,‘马云‘,‘俞敏洪‘,‘李开复‘);
  echo $usernames;  //array,打印类型
  echo ‘<br />‘;
  echo $usernames[1];
  echo ‘<br />‘;
  print_r($usernames);//print_r()打印变量的信息

  //2 通过range()函数自动创建一个数组
  $numbers = range(1, 10);
  $letters = range(‘a‘, ‘z‘);
  $numbers2 = range(1, 10, 2); //第三个参数表示步长

  print_r($numbers);
  echo ‘<br />‘;
  print_r($letters);
  echo ‘<br />‘;
  print_r($numbers2); //1 3 5 7 9

  //循环打印数组
  //for循环,count()获得数组长度,这种必须下标从0开始,且为数字
  for($i=0;$i<count($numbers);$i++){
      echo ‘<br />‘;
      echo $numbers[$i];
  }
  //foreach()打印数组,只能打印数组
  if(is_array($numbers)){  //如果是数组
      foreach ($numbers as $key=>$value){
          echo ‘<br />‘;
          echo $key.‘---‘.$value;
      }
  }

  //3 自定义键数组
  $usernames = array(‘baisu‘=>‘李彦宏‘,‘taobao‘=>‘马云‘,‘tengxu‘=>‘马化腾‘);
//   print_r($usernamessernames);
  $usernames[‘goggle‘] = ‘李开复‘;  //追加数组
//   print_r($usernames);

  //直接创建自定义键数组
  $userages[‘党‘] = ‘22‘;
  $userages[‘周‘] = ‘23‘;
  print_r($userages);

//  循环打印foreach();each();list();
  foreach ($userages as $key=>$value){
      echo ‘<br />‘;
      echo $key."--".$value;
  }

//  $a = each($userages); //返回数组当前键值对(是一个数组)并将数组指针向前移动一步
//   echo $a[0].‘--‘.$a[1];

  while (!!$a=each($userages)){  //!!转化为布尔值,如果值存在返回1
      echo $a[0].‘--‘.$a[1].‘<br />‘;
      //echo $a[‘key‘].‘--‘.$a[‘value‘].‘<br />‘;
  }

//   $a = array(‘a‘,‘b‘,‘c‘);  //list()只能识别数字下标
//   list($var1,$var2)=$a;  //list($var1,$var2)就是将$var1=‘a‘,$var2=‘b‘
//   echo $var2;  //b

  list($name,$age)=each($userages);
  echo $name.‘---‘.$age.‘<br />‘;

  //reset();将数组的指针指向第一个单元上,可以对each()指针操作
  //$a = array_unique();创建一个新数组,新数组移除原数组中重复的值,原数组不动
  //array_flip();对调数组中的键和值,不会改变本体,而是返回新数组,同上

  //4 数组里的数组:二维数组
  $products=array(
      array(‘苹果‘,1),
      array(‘橘子‘,2),
      array(‘栗子‘,3)
  );
//   print_r($products);
  //双重循环打印数组
//   echo count($products); //3
  for ($i=0;$i<count($products);++$i){
      for ($j=0;$j<count($products[$i]);++$j){
         echo $products[$i][$j].‘|‘;
      }
      echo ‘<br />‘;
  }

  //双重循环打印二维数组
  $products=array(
      array(‘产品名‘=>‘苹果‘,‘数量‘=>1),
      array(‘产品名‘=>‘苹果‘,‘数量‘=>1),
      array(‘产品名‘=>‘苹果‘,‘数量‘=>1)
  );

  for ($i=0;$i<count($products);++$i){
      foreach ($products[$i] as $key=>$value){
         echo $key.‘--‘.$value.‘|‘;
      }
      echo ‘<br />‘;
  }

  for ($i=0;$i<count($products);++$i){
      while (!!list($key,$value)=each($products[$i])){
         echo $key.‘--‘.$value.‘|‘;
      }
      echo ‘<br />‘;
  }

  //5 数组排序
  $fruit = array(‘banner‘,‘orange‘,‘apple‘);

  //sort();
  sort($fruit);
  print_r($fruit); //a b o,中文也可以的

  $numbers = array(2,3,4,5,6);
  sort($numbers);
  print_r($numbers);

  //sort()函数的第二个参数是可选的。这个可选参数可以传递SORT_REGULAR(默认值)、SORT_NUMERIC或SORT_STRING。指定排序类型的功能是非常有用的。比如,当要比较可能包含有数字2和12的字符串时,从数字角度看,2要小于12,但是作为字符串,"12"却要小于"2"。
  $numbers = array("12","2");
  sort($numbers,SORT_STRING);//按字符串排序
  print_r($numbers);

  //asort(),保留索引关系
  $fruit = array(‘banner‘,‘orange‘,‘apple‘);
  asort($fruit);
  print_r($fruit);

  //ksort(),对键排序
  $fruit = array(‘b‘=>‘banner‘,‘a‘=>‘orange‘,‘c‘=>‘apple‘);
  ksort($fruit);
  print_r($fruit);

  //反向排序,在前边的前边加r
  $numbers = array(2,3,4,5,6);
  rsort($numbers);
  print_r($numbers);

  shuffle();随机排序
  $pic = array(‘mm1.jpg‘,‘mm2.jpg‘,‘mm3.jpg‘,‘mm4.jpg‘,‘mm5.jpg‘);
  shuffle($pic); //随机打乱数组
  for ($i=0;$i<count($pic)-2;++$i){
      echo ‘<img src="images/‘.$pic[$i].‘" style="margin:10px;" />‘;
      echo "\n";
  }

  //把数组反方向,一般array开头的不会改变原数组,生成新的数组
  $a = array_reverse($pic);
  print_r($a);

  //6 添加函数
  $username = array("dang");
  //array_unshift();开头插入元素,插入成功返回int
  array_unshift($username, ‘zhou‘);
  print_r($username);
  //array_push();//结尾插入数据
  array_push($username,‘haha‘);
  print_r($username);

  //  删除数组元素
  array_shift($array); 删除开头元素
  array_pop();删除结尾元素

  array_rand();随机取出数组中一个或多个键,多个返回的是数组
  $fruit = array(‘banner‘,‘orange‘,‘apple‘);
  $a = array_rand($fruit,1);
  echo $fruit[$a];

  //7 数组指针的操作
//   在数组中浏览:each()、current()、reset()、end()、next()、pos()、prev();
//   调用next()或each()将使指针前移一个元素。调用each($array_name)会在指针前移一个位置之前返回当前元素。next()函数则有些不同----调用next($array_name)是将指针前移,然后再返回新的当前元素。
//   要反向遍历一个数组,可以使用end()和prev()函数。prev()函数和next()函数相反。它是将当前指针往回移一个位置然后再返回新的当前元素。
  $fruit = array(‘banner‘,‘orange‘,‘apple‘);
  $usernames = array(‘baisu‘=>‘李彦宏‘,‘taobao‘=>‘马云‘,‘tengxu‘=>‘马化腾‘);

  //current();获取指针的当前元素,current并没有把指针移到下一步
  echo current($usernames);

  //next();向后移一位
  echo next($usernames);
  echo current($usernames);
  reset($usernames);  //将指针指向第一个单元
  echo current($usernames);

  $usernames = array(‘baisu‘=>‘李彦宏‘,‘taobao‘=>‘马云‘,‘tengxu‘=>‘马化腾‘);
  //统计数组个数,sizeof();count();
  echo sizeof($usernames);
  echo count($usernames);
  //array_count_values()统计数组内所有值出现的个数
  $a = array(1,2,3,3,3,2,2);
  print_r (array_count_values($a));

  //8 将数组转换成标量变量
  //对于一个非数字索引数组,而该数组又有许多关键字-值对,可以使用函数extract()将它们转换成一系列的标量变量。
  //函数extract()的作用是通过一个数组创建一系列的标量变量,这些变量的名称必须是数组中关键字的名称,而变量值则是数组中的值。
  //extract(array var_array,[int extract_type],[string prefix]);
  $fruits = array(‘a‘=>‘apple‘,‘b‘=>‘banner‘,‘c‘=>‘orange‘);
  extract($fruits);
  echo $a; //apple
  echo $c; //orange
时间: 2024-10-25 17:56:07

php数组的创建及操作的相关文章

数组的创建和操作

array 数组 创建方法的方法 1.var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[2] = 3; 创建一个内容为1,2,3的数组 2.var arr = new Array(5); 创建一个长度为5的数组 3.var arr = new Array(1, 2, 3); 创建一个内容为1,2,3的数组 4.var arr = [1, 2, 3]; 数组的操作 1.数组名.shift(); 删除第一个元素,并返回该值 var arr = [1

MATLAB编程与应用系列-第2章 数组及矩阵的创建及操作(1)

本系列教程来源于出版设计<基于MATLAB编程基础与典型应用书籍>,如涉及版权问题,请联系:[email protected]. 出版社:人民邮电出版社, 页数:525. 本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:[email protected] MATLAB中的数学计算部分包括数值计算和符号计算两大部分,数值计算是MATLAB的核心,在数值计算过程中,同样需要辅以适当的符号运算,目前符号运算的发展也非常完善,同样得到广泛的应用

MATLAB编程与应用系列-第2章 数组及矩阵的创建及操作(2)

本系列教程来源于出版设计<基于MATLAB编程基础与典型应用书籍>,如涉及版权问题,请联系:[email protected]. 出版社:人民邮电出版社, 页数:525. 本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:[email protected] 2.2 数组及矩阵的创建和操作 本节将介绍数组及矩阵的创建和操作,包括数组的输入以及数组元素的操作.由于数组和矩阵在创建和寻访的处理方式类似,因此将两者综合一起说明. ###2.2.1

Numpy 学习之路(1)——数组的创建

数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np from numpy import * 1.普通数组的创建——np.arange(), np.array(), (1) arange()建立是顺序数组,函数原型:arange([start,]stop[,step],dtype=None) 其中start参数如果省略,则表示从0开始,默认的dtype为fl

NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表

《C语言中动态数组的创建及引用》

C语言中动态数组的创建及引用 动态数组是相对于静态数组而言的,静态数组的长度是预定义好的,在整个程序中,一旦给定了数组大小后就无法改变,,而动态数组则不然,它可以根据程序需要重新指定数组的大小.动态数组的内存空间是由堆动态分配的,通过执行代码为其分配储存空间,只有程序执行到分配语句时,才为其分配储存空间. 对于动态数组,其创建比静态数组更麻烦一些,使用完必须由程序员自己释放,否则将引起内存泄漏,但是其使用非常灵活,能根据程序需要动态分配大小,因此相对于静态数组来说,使用动态数组的自由度更大. 对

数组的键/值操作函数

PH在P中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值.“关联数组”指的是键名为字符串的数组,“索引”和“键名”指的是同一样东西.“索引”多指数组的数字形式的下标.使用数组的处理函数,可以很方便地对数组中的每个元素的键和值进行操作,进而生成一个新数组. ①函数array_values() array_values()函数的作用是返回数组中所有元素的值.使用非常容易,只有一个必选参数,规定传入给定的数组,返回一个包含给定数组中所有值得数组.但不保留键名,被返回的数组将使用顺序

php数组使用技巧及操作总结

数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是一些小结,借此记之,便于以后鉴之. 1. 数组定义 数组的定义使用 array()方式定义,可以定义空数组:<?php $number = array(1,3,5,7,9); //定义空数组 $result = array(); $color =array("red","blue","green"); //自定义键值 $language = (1=>&quo

javas入门04——数组的创建及方法

数组的概念及定义 数组的概念: 一组数据,数据的组和 哪些数据的组和,只要是数据(所有数据),就可以放在数组中 数组的意义: 可以同时操作多个数据 数组的创建方式 var arr1 = [1,2,3]; //字面量方式 var arr2 = new Array(1,2,3) //构造函数方式 注意:当只有一个数据时,两种创建方式的不同. var arr1 = [5] //表示有一个数组元素5 var arr2 = new Array(5) //表示有5个数组元素,值全部为undefined 数组