加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.com.cn/)- 管理运维、AI硬件、数据集成、云备份、负载均衡!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

学习PHP的数组总结

发布时间:2022-07-25 09:54:06 所属栏目:PHP教程 来源:互联网
导读:PHP有很多关于数组的函数,方便数组操作。 定义: 数组每个实体包含两个项:key和value,可以通过查询键来获取其相应的值。这些键可以是数值(numerical)键或关联(associative)键。数值键与值没有真正的联系,它们只是值在数组中的位置。 PHP提供了很多遍历数
  PHP有很多关于数组的函数,方便数组操作。
 
  定义:
 
  数组每个实体包含两个项:key和value,可以通过查询键来获取其相应的值。这些键可以是数值(numerical)键或关联(associative)键。数值键与值没有真正的联系,它们只是值在数组中的位置。
 
  PHP提供了很多遍历数组的方法,无法使用关联键还是数值键,都依赖于一种称为数组指针的特性。
 
  创建数组
 
  PHP不需要在创建数组时指定其大小,因为PHP是一种松散的语言,所以不需要在使用数组前先行声明。尽管没有限制,PHP仍提供了正式和非正式的数组声明方法。
 
  引用PHP数组的各个元素,用一对中括号来指示。数组没有大小限制,所以只需建立引用就可以创建数组,例如:
 
  $state[0]= ‘111';
 
  $state[1]= ‘222';
 
  如果索引值是数值索引而且是递增的,还可以在创建时省略索引值。
 
  $state[] =‘111';
 
  $state[] =‘222';
 
  可以使用array()创建数组,如:
 
  $state =array(‘111', ‘222');
 
  $state =array(‘one'=>'111', ‘two'=>'222');
 
  使用list()提取数组,例如:
 
  $state= array(‘one', ‘two', ‘three');
 
  list($one,$two, $three) = $state;
 
  数组内的三个值分别赋给了$one, $two,$three, 可直接输出。
 
  用预定义的值范围填充数组,例如:
 
  $num= range(1, 6);
 
  //类似于$num =array(1, 2, 3, 4, 5, 6);
 
  可选择奇偶:$num =range(1, 6, 2);
 
  //$num= array(1, 3, 5);
 
  可选择字母:$ch =range(“A”, “F”);
 
  //$ch= array(“A”, “B”, “C”, “D”, “E”, “F”);
 
  输出数组
 
  输出数组内容最常用的方法就是迭代处理各个数组键,并输出相应的值。
 
  foreach()函数可以很方便的遍历一个数组,得到每个value和key。
 
  print_r()函数很方便将数组的内容输出到屏幕上。prinf_r()函数接受一个变量,并将其内容发送给标准输出,成功时返回TRUE,否则返回FALSE。
 
  测试数组
 
  通过is_array()函数知道某个特定变量是否一个数组。
 
  is_array()函数确定某变量是否为数组,如果是则返回TRUE,否则返回FALSE。即使数组只包含一个值,也将被认为是一个数组。
 
  添加和删除数组元素
 
  PHP为扩大和缩小数组提供了一些函数,对模仿各种队列实现提供便利。
 
  在数组头添加元素:
 
  array_unshift()函数在数组头添加元素。所有已有的数值键都会相应地修改,以反映其在数组中的新位置,但是关联键不受影响。
 
  $state= array(‘11', ‘22', ‘33');
 
  array_unshift($state,‘00');
 
  //$state= array(‘00', ‘11', ‘22', ‘33');
 
  在数组尾添加元素:
 
  array_push()函数将值添加到数组的末尾,添加新的值之后返回数组中的元素总数。同时通过将这个变量作为输入参数传递给此函数,向数组压入多个变量(元素),其形式为:
 
  $state= array(‘1', ‘2');
   
  array_push($state,‘3');
   
  //$state= array(‘1', ‘2', ‘3');
  从数组头删除元素:
 
  array_shift()函数删除并返回数组中找到的第一个元素。其结果是,如果使用的是数值键,则所有相应的值都会下移,而使用关联键的数组不受影响,其形式为:
 
  $state= array(‘1', ‘2');
   
  array_shift($state);
   
  //$state= array(‘2');
  从数组尾删除元素:
 
  array_pop()函数删除并返回数组的最后一个元素,其形式为:
 
  $state= array(‘1', ‘2');
   
  array_pop($state);
   
  //$state= array(‘1');
  定位数组元素
 
  搜索数组:
 
  in_array()函数在数组中搜索一个特定值,如果找到这个值则返回TRUE,否则返回FALSE,其形式如下:
 
  $user= array(‘111', ‘222', ‘333');
   
  $str= ‘111';
   
  if(in_array($str,$user)){
  //phpfensi.com
  echo‘yes';
   
  }else{
   
  echo ‘no';
   
  }
  第三个参数strict可选,它强制in_array()在搜索时考虑类型。
 
  搜索关联数组:
 
  如果在一个数组中找到一个指定的键,函数array_key_exists()返回TRUE,否则返回FALSE。其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
    
  if(array_key_exists('two',$arr)){
    
  echo'yes';
  //phpfensi.com
    
  }else{
    
  echo‘no';
    
  }
  搜索关联数组:
 
  array_search()函数在一个数组中搜索一个指定的值,如果找到则返回相应的值,否则返回FALSE,其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  if(array_search('1',$arr)){
   
  echo'yes';
   
  }else{
   
  echo‘no';
   
  }
  获取数组键:
 
  array_key()函数返回一个数组,其中包含所搜索数组中找到的所有键,其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  $keys= array_keys($arr);
   
  var_dump($keys);
   
  //array(3) {[0]=> string(3) "one" [1]=> string(3) "two" [2]=>string(5) "three" }
  获取数组值:
 
  array_values()函数返回一个数组中的所有值,并自动为返回的数组提供数组索引,其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  $values= array_values($arr);
   
  var_dump($values);
   
  //array(3) {[0]=> string(1) "1" [1]=> string(1) "2" [2]=>string(1) "3" }
  遍历数组
 
  通常需要遍历数组并获得各个键或值(或者同时获得键和值),PHP提供了一些函数来满足需求。许多函数能完成两项任务,不仅能获取当前指针位置的键或值,还能将指针移向下一个适当的位置。
 
  获取当前数组键:
 
  key()函数返回数组中当前指针所在位置的键,其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  $key= key($arr);
   
  var_dump($key);
   
  //string(3) "one"
  注意:每次调用key()时不会移动指针。
 
  获取当前数组值:
 
  current()函数返回数组中当前指针所在位置的数组值。其形式如下:
 
  $arr= array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  $value= current($arr);
   
  var_dump($value);
   
  //string(1)“1”
  获取当前数组键和值:
 
  each()函数返回数组的当前键/值对,并将指针推进一个位置,其形式如下:
 
  $arr =array('one'=>'1', 'two'=>'2', 'three'=>'3');
   
  var_dump(each($arr));
   
  //array(4) {[1]=> string(1) "1" ["value"]=> string(1)"1" [0]=> string(3) "one" ["key"]=>string(3) "one" }
  返回的数组包含4个键,键0和key键包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回FALSE。

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读