Home  >  Article  >  Backend Development  >  Summary of usage of php array operations

Summary of usage of php array operations

微波
微波Original
2017-06-28 11:43:351335browse

php defines arrays

There are two main ways to declare arrays in PHP:

  1. Declare arrays using the array() function.

  2. 2. Directly assign values ​​to array elements.

 a[1] => b[2] => c[3] => d)
    $numbers = range(1,5);//创建一个包含指定范围的数组
    print_r($numbers);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
    print_r(true);//1
    var_dump(false);//bool(false)//print_r可以把字符串和数字简单地打印出来,数组会以Array开头并已键值形式表示,print_r输出布尔值和null的结果没有意义,因此用var_dump更合适

//Display all the values ​​in the array through loops

  for($i = 0 ;$i < 5;$i++){
        echo $users[$i];
        echo '
'; }

//Use count/sizeof to count the number of units in the array or the number of attributes in the object

 for($i = 0; $i < count($users);$i++){
        echo $users[$i];
        echo '
'; }

//You can also traverse the array through a foreach loop. The advantage is that you don’t need to consider the key

 foreach($users as $value){
    echo $value.'
';//点号为字符串连接符号 } //foreach循环遍历 $key => $value;$key和$value是变量名,可以自行设置 foreach($users as $key => $value){ echo $key.'
';//输出键 } ?>

Create an array with custom keys

Usage of
1,"b"=>2,"c"=>3,"d","e"];
    //如果没有声明键,它会从零开始
    print_r($array);//array([a]=>1,[b]=>2,[c]=>3,[0]=>d,[1]=>e);
?>

each()

  ';//Array
        //因为相关数组的索引不是数字,所以无法通过for循环来进行遍历操作,只能通过foreach循环或list()和each()结构
        //each的使用
        //each返回数组中当前的键/值对并将数组指针向前移动一步
        $users = array('key'=>22,'key1'=>20,'key2'=>30);
        //print_r(each($users));//Array ( [1] => 22 [value] => 22 [0] => array[key] => array)
        //相当于:$a = array([0]=>array,[1]=>22,[value]=>22,[key]=>array);
    $a = each($users);//each把原来的数组的第一个元素拿出来包装成新数组后赋值给$a
    echo $a[0];//array    //!!表示将真实存在的数据转换成布尔值
    echo !!each($users);//1
    ?>


## The pointer of each points to the first key-value pair and returns For the first array element, get its key-value pair and package it into a new array

Use of list()

list is used to use the array Assign values ​​to some variables, see the following example:

    ';//2
       echo $var2;//abc        
       $a = ['name'=>'trigkit4','age'=>22,'0'=>'boy'];
     //list只认识key为数字的索引
      list($var1,$var2) = $a;
      echo $var1;//boy
    ?>


Note: list only recognizes indexes whose keys are numbers

Sorting of array elements

## Reverse sorting: sort(), asort() and ksort() are all forward Sorting, of course, also has a corresponding reverse sorting.

Implementation of reverse: rsort(), arsort() and krsort().

The array_unshift() function adds new elements to the head of the array, and the array_push() function adds each new element to the end of the array.

        array_shift()删除数组头第一个元素,与其相反的函数是 array_pop(),删除并返回数组末 尾的一个元素。

        array_rand()返回数组中的一个或多个键。

        函数shuffle()将数组个元素进 行随机排序。

        函数 array_reverse()给出一个原来数组的反向排序

    数组的各类API的使用

    注:count()和 sizeof()统计数组下标的个数
    array_count_values()统计数组内下标值的个数

  100 [1] => 2 )
        $arr = array('trigkit4','banner','10');
        sort($arr,SORT_STRING);
        print_r($arr);//Array ( [0] => 10 [1] => banner [2] => trigkit4 )
        shuffle($arr);
        print_r($arr);//随机排序
        $array = array('a','b','c','d','0','1');
        array_reverse($array);
        print_r($array);//原数组的反向排序。 Array ( [0] => a [1] => b [2] => c [3] => d [4] => 0 [5] => 1 )
  ?>

       //数组的拷贝
       

        $arr1  = array( '10' , 2);
     $arr2  =  &$arr1 ;
     $arr2 [] =  4 ;  // $arr2 被改变了,$arr1仍然是array('10', 3)
     print_r($arr2);//Array ( [0] => 10 [1] => 2 [2] => 4 )

   //asort的使用
      

 $arr3  = & $arr1 ;//现在arr1和arr3是一样的
  $arr3 [] =  '3' ;
  asort($arr3);//对数组进行排序并保留原始关系
  print_r($arr3);// Array ( [1] => 2 [2] => 3 [0] => 10 )

   //ksort的使用
     

  $fruits = array('c'=>'banana','a'=>'apple','d'=>'orange');
   ksort($fruits);
   print_r($fruits);//Array ( [a] => apple [c] => banana [d] => orange )

  //unshift的使用
      

    array_unshift($array,'z');//开头处添加一元素
  print_r($array);//Array ( [0] => z [1] => a [2] => b [3] => c [4] => d [5] => 0 [6] => 1 )

   //current(pos)的使用
     

  echo current($array);//z;获取当前数组中的当前单元


   //next的使用
      

 echo next($array);//a;将数组中的内部指针向前移动一位


   //reset的使用
      

 echo reset($array);//z;将数组内部指针指向第一个单元


   //prev的使用
     

  echo next($array);//a;
   echo prev($array);//z;倒回一位
 //sizeof的使用
        echo sizeof($array);//7;统计数组元素的个数
    //array_count_values
        $num = array(10,20,30,10,20,1,0,10);//统计数组元素出现的次数
        print_r(array_count_values($num));//Array ( [10] => 3 [20] => 2 [30] => 1 [1] => 1 [0] => 1 ) ?>

    urrent():每个数组都有一个内部指针指向他的当前单元,初始指向插入到数组中的第一个元素

    for循环遍历

 


    数组的实例

    array_pad函数的使用

    10,2=>20,3=>30);        
     $num = array_pad($num,4,40);        
     print_r($num);//Array ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 )        
     $num = array_pad($num,-5,50);//array_pad(array,size,value)        
     print_r($num);//Array ( [0] => 50 [1] => 10 [2] => 20 [3] => 30 [4] => 40 ) 
     ?>

    size:指定的长度。整数则填补到右侧,负数则填补到左侧。

    unset()的使用

  8 [1] => 8 [2] => 8 [3] => 8 [4] => 8 )         
    echo '
'; unset($num[3]); print_r($num);//Array ( [0] => 8 [1] => 8 [2] => 8 [4] => 8 ) ?>

 array_fill()的使用

 ';        
     print_r($arrayFilled);
     ?>

array_combine()的使用

          I [2] => Am [3] => A [4] => PHP [5] => er ) 
        ?>

array_splice()删除数组成员

 

 array_unique删除数组中的重复值

  red [1] => green [2] => blue [3] => yellow ) ?>

 array_flip()交换数组的键值和值

  ";
        $array = array_flip($array);//
        print_r($array);//Array ( [red] => 2 [blue] => 1 [Black] => 3 ) ?>

 array_search()搜索数值

 
    



The above is the detailed content of Summary of usage of php array operations. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn