美文网首页
php-数组

php-数组

作者: quanCN | 来源:发表于2019-03-25 15:38 被阅读0次

数字索引数组

大多数编程语言都支持这种数组,在PHP中,数字索引的默认值是从0开始的。

  • 数字索引数组的初始化
    $products = array('Tires','Oil','Spark Plugs');
    
  • 遍历数组
    利用索引for循环便利
    for ($i=0;$i<3;$i++){
        echo $products[$i].' ';
    }
    
    foreach遍历
    foreach ($products as $product){
    echo $product.' ';
    }
    

使用不同索引的数组

php支持键值对

  • 初始化
    $prices = array('Tires'=>100,'Oil'=>10,'Spark Plugs'=>4);
    
    键和值之间的符号只是一个=>符号
  • 访问数组
    可以通过变量名和数组访问元素例如:$prices['Tires']
  • 遍历数组
    foreach遍历
    foreach ($prices as $key=>$value){
        echo $key,' - '.$value;
    }
    
    使用each()遍历
    while ($element = each($prices)){
        echo $element['key'].' - '.$element['value'];
    }
    

数组操作符

操作符 名称 示例 结果
+ 联合 $a+$b 数组$b被附加到$b中,有冲突的元素将不会被添加
== 等价 $a==$b 如果$a和$b包含相同元素,返回true
=== 恒等 $a===$b 如果$a和$b包含相同顺序和类型的元素,返回true
!= 不等价 $a!=$b 如果$a和$b不包含相同元素,返回true
<> 不等价 $a<>$b 同!==
!== 不恒等 $a!==$b 如果$a和$b不包含相同顺序类型的元素,返回true

数组排序

  • sort()函数
    sort()函数可以将数字索引数组进行排序

    $products = array('Tires','Oil','Spark Plugs');
    sort($products);
    

    注:sort()不能用于键值对类型的数组进行排序

  • 使用asort()和ksort()对键值对数组排序
    关键字和值在排序时仍然能保持一致

    • asort()
      asort()对值进行排序
      $prices = array('Tires'=>100,'Oil'=>10,'Spark Plugs'=>4);
      asort($prices);
      
    • ksort()
      ksort()对键进行排序
      $prices = array('Tires'=>100,'Oil'=>10,'Spark Plugs'=>4);
      ksort($prices);
      
  • 反向排序
    sort(),asort(),ksort()都是按照升序排序的,他们每一个都对应一个反向排序的函数,分别为:rsort(),arsort()krsort()

  • usort()自定义排序

    $products = array('Tires','Oil','Spark Plugs');
    function compare($a,$b){
        if ($a==$b) return 0;
        return ($a<$b)?-1:1;
    }
    usort($products,'compare');
    
    usort($products,function ($a,$b){
        if ($a==$b) return 0;
        return ($a<$b)?-1:1;
    });
    

数组指针操作

  • current(),pos()
    初始指向插入到数组中的第一个单元
    pos($array_name)current($array_name) 函数的别名。
  • next(),each()
    调用next()和each()都将指向下一个元素,调用each($array_name)会在指针移动前返回当前元素,next($array_name)则是指针移动后放回新的元素
  • reset()
    返回数组的第一个元素
  • end()
    返回数组的最后一个元素
  • prev()
    返回前一个元素:指针前移后,返回新的元素

逆序遍历

$array = array(1,2,3,4,5);
$value = end($array);
while ($value){
    echo "$value ";
    $value = prev($array);
}

数组批量操作

  • array_walk()
    对数组中的每个元素应用用户自定义函数:
    array_walk(array,myfunction,userdata...)
参数 描述
array 必需。规定数组
myfunction 必需。用户自定义函数的名称。数组的键名和键值是参数。
userdata,... 可选。规定用户自定义函数的参数。可以向此函数传递任意多参数。
function myfunction($value,$key,$p){
    $value *= $p;
    echo "$key is $value";
}
$prices = array('Tires'=>100,'Oil'=>10,'Spark Plugs'=>4);
array_walk($prices,'myfunction',2);

相关文章

  • php-数组

    数组 数组概念: 一个变量中,存放多个值,每个值在变量中位置称索引卫视(下标)。数组中类型可以不相同,指定下标可以...

  • php-数组

    数字索引数组 大多数编程语言都支持这种数组,在PHP中,数字索引的默认值是从0开始的。 数字索引数组的初始化$pr...

  • 初学php-数组

    在php中并没有像java那样把数组分的那么清楚有list有map,php只有一个array。所以在当在数组后面加...

  • PHP-常用的数组操作

    PHP Array 简介: http://www.w3school.com.cn/php/php_ref_arra...

  • 第3章 PHP变量

    PHP-什么是变量 变量是用于存储值的 PHP-如何定义变量 定义变量就是向服务器的内存(服务器的内存,我们可以当...

  • idea代码格式对齐

    setting->Editor->Code Style->PHP->wrapping and braces Ass...

  • php 各扩展安装

    http://www.php.net/distributions/php-$version.tar.gz bcmath

  • PHP-二维数组排序题

    这好像是之前去一个公司面试的笔试题,记录一下。 array_multisort() 根据数组中一个key值对数组...

  • swoole笔记03(搭建http服务器)

    常规: http请求从nginx->fast-cgi->php->返回给前端用户 (fpm) swoole ...

  • Laravel-5-8学习

    title: Laravel-5.8学习date: 2019-05-13 14:07:10tags:- PHP- ...

网友评论

      本文标题:php-数组

      本文链接:https://www.haomeiwen.com/subject/zkqbvqtx.html