精华内容
下载资源
问答
  • 关联数组和索引数组
    千次阅读
    2019-09-25 22:09:00

    1. 索引数组

    就是数组的下标是数字其实这是关联数组的简写方式
    举个例子
    arr[0] 其实他是arr[“0”] 的简写方式
    所以索引数组的本质上是关联数组

    2.关联数组

    关联数组的定义就是数组里面的下标为字符串
    例如
    arr[“index”] 可以简写为arr.index

    这时候有人会问为什么上面的arr[“0”]不简写为arr.0
    有一个很重要的原因就是 和js里面的小数冲突了 所以简写方式用[]代替

    更多相关内容
  • 并且这个键值 是自增的 关联数组指的是一个键值对应一个值,并且这个键值是不规律的,通常都是我们自己指定的。...以上这篇基于php数组中的索引数组和关联数组详解就是小编分享给大家的全部内容了,希望能给大家一
  • 下面小编就为大家分享一篇php关联数组索引数组及其显示方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • php中关联数组和索引数组的区别

    万次阅读 2018-05-12 12:00:33
    用字符串表示键的数组就是下面要介绍的关联数组索引数组的键是整数,而且从0开始以此类推。 索引数组初始化例: [php]view plaincopy <pre name="code" class="php"><?php //创建一个索引数组,...

    索引数组】

             用数字作为键名的数组一般叫做索引数组。用字符串表示键的数组就是下面要介绍的关联数组。索引数组的键是整数,而且从0开始以此类推。

    索引数组初始化例:

    [php] view plain copy

    <pre name="code" class="php"><?php  
    //创建一个索引数组,索引数组的键是“0”,值是“苹果”  
    $fruit=array("苹果","香蕉");  
    print_r($fruit);  
    ?>  

    运行结果:

    Array
    (
        [0] => 苹果
        [1] => 香蕉
    )

    索引数组的三种赋值方式:
    1.array[0]='苹果';
    2.$arr=array('0'=>'苹果');
    3.$arr=array('苹果');

    例:

    [css] view plain copy

    <?php  
    //请创建一个数组变量arr,并尝试创建一个索引数组,键是0,值是苹果  
    $arr=array(0=>'苹果');  
    if( isset($arr) ) {print_r($arr);}  
    ?>  

    用for与foreach可以访问到数组里面的元素,因for比较容易下面只举使用foreach的例子,

    [php] view plain copy

    <?php  
    $fruit=array('苹果','香蕉','菠萝');  
    foreach($fruit as $key=>$value){  
        echo '<br>第'.$key.'值是:'.$value;  
    }  
      
    ?>  

    运行结果:

    第0值是:苹果
    第1值是:香蕉
    第2值是:菠萝

    注:这里$key是键值$value则是元素值

    关联数组

           其实关联数组和索引数组的差别只是在键值上,关联数组的键值是字符串,并且是人为的规定,例如:

    [php] view plain copy

    <?php  
    //创建一个关联数组,关联数组的键“orange”,值是“橘子”  
    $fruit=array('orange'=>'橘子');  
    echo $fruit['orange'];  
    ?> 

     

    其余初始化,赋值,foreach的用法基本相同。

    展开全文
  • 1、从数组的下标分为索引数组关联数组 代码如下: /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始) //索引实际上就是序数,一个整型...
  • 在静态语言(C、Java、Go)中,数组的定义通常是同一类型数据的连续序列,PHP 的数组从功能角度来说更加强大,...下面,我们就来简单介绍下 PHP 索引数组和关联数组的基本使用。1、索引数组基本使用所谓索引数组指的...

    在静态语言(C、Java、Go)中,数组的定义通常是同一类型数据的连续序列,PHP 的数组从功能角度来说更加强大,可以包含任何数据类型,支持无限扩容,并且将传统数组和字典类型合二为一,在 PHP 中,传统的数组对应的是索引数组,字典类型对应的是关联数组,这得益于 PHP 底层通过哈希表实现数组功能。下面,我们就来简单介绍下 PHP 索引数组和关联数组的基本使用。

    1、索引数组

    基本使用

    所谓索引数组指的是数组的键为隐式数字,并且会自动维护,就像静态语言的数组一样。我们在 php_learning/basic 目录下创建 array.php 来存放本教程编写的代码,初始化两个 PHP 索引数组如下:

    $nums = [2, 4, 8, 16, 32];

    $lans = ['PHP', 'Golang', 'JavaScript'];

    此时,我们不必显式设置数组的键,它们会自动维护,如果通过 var_dump 函数打印它们的话:

    var_dump($nums);

    var_dump($lans);

    输出如下:

    0538574f3c3bf88728e80e0ed77acbbb.png

    PHP 索引数组的索引值和其他语言一样,都是从 0 开始。

    对于数组而言,还可以通过 print_r 函数打印:

    print_r($nums);

    print_r($lans);

    对应输出如下,与 var_dump 相比,隐去了数据类型,更加简洁:

    9fbaddf20f2f1c870bb3ce1461ad4eab.png

    增删改查

    除了像上述代码那样通过指定初始值进行数组初始化,还可以初始化一个空数组,在 PHP 中,初始化空数组时不必指定数组大小,也不必指定数据类型:

    $fruits = [];

    然后我们可以依次往数组中追加元素:

    $fruits[] = 'Apple';

    $fruits[] = 'Orange';

    $fruits[] = 'Pear';

    此时,通过 print_r($fruits) 打印该数组,输出如下:

    1466df929393b96844dd8797bc175e88.png

    我们可以通过 count 函数获取数组长度。

    如果要获取指定索引对应的元素值,可以通过如下这种方式:

    $fruit = $fruits[0];

    要更新指定索引位置对应的元素值,可以通过如下方式:

    $fruits[2] = 'Banana';

    要删除指定索引位置对应的元素值,可以通过 unset 函数:

    unset($fruits[1]);

    此时,再通过 print_r($fruits) 函数打印函数,输出结果如下:

    3f3376e05b21f294e2f07b812f46305c.png

    可以看到,PHP 数组并没有自动重新编排索引,而是留出了一个「空洞」,打印 var_dump($fruits[1]) 将会报错,提示对应元素值不存在:

    a4f33400c0cd7a4eaafa69e44dec5dae.png

    如果你想要获得重新编排索引的新数组,可以调用 PHP 内置数组函数 array_values 来实现:

    $fruits = array_values($fruits);

    再通过 print_r($fruits) 打印数组,输出如下:

    604f87f212f479a594a239db20147d93.png

    要删除整个数组,可以用 unset($fruits) 实现,删除之后,$fruits 值变为 NULL并且不可用。

    动态类型

    到目前为止,除了初始化时无需指定数组大小和数据类型,PHP 的索引数组和传统静态语言的数组表现完全一致,接下来,我们就要来点不一样的了,PHP 数组支持任意类型数据,以上篇教程中举的例子「Laravel 精品课」这本书为例,我们可以将其所有属性都存放到一个数组里面:

    $book = [

    'Laravel精品课',

    '学院君',

    2020,

    99.0,

    false

    ];

    可以看到其中包含了所有的基本类型数据,此外,还支持数组、对象等更复杂的数据类型,如果我们试图通过 print_r($book) 打印该数组的话,输出如下:

    0c87ba175b8c955380b20d8f92faecdf.png

    再打印布尔类型时,false 会被转化为空字符串,true 会被转化为 1,另外浮点型数字也会被转化为对应的字符串格式数据。

    另外,PHP 数组底层是哈希表驱动,所以支持无限扩容。

    通过以上这两点对比,PHP 索引数组就要比传统静态语言的数组灵活的多,因为摆脱了数据类型和初始大小这两把枷锁。

    2、关联数组

    基本使用

    PHP 没有字典(map/dict)这种数据类型,而是将其融入到数组中以关联数组的方式提供支持,与索引数组不同,关联数组通常需要显式指定数组元素的键,还是以「Laravel 精品课」这本书为例,如果以关联数组形式表示的话,就会是这样子:

    $book = [

    'name' => 'Laravel精品课',

    'author' => '学院君',

    'publish_at' => 2020,

    'price' => 99.0,

    'published' => true

    ];

    通过 print_r($book) 打印的话效果如下:

    bfb843d12fb755557da3bad622f1dee6.png

    此时的键就不再是连续数字,而是初始化时设置的键名了。除了指定所有元素的键名外,还可以部分指定:

    $book = [

    'name' => 'Laravel精品课',

    'author' => '学院君',

    'publish_at' => 2020,

    'price' => 99.0,

    'published' => true,

    '掌握 Laravel 和 Vue 技术栈,成为合格的 PHP 全栈工程师!',

    'https://xueyuanjun.com/books/master-laravel',

    ];

    通过 print_r($book) 打印结果如下:

    4af06ef6202527622ab699643d285576.png

    可以看到 PHP 会自动维护索引数组的数字索引值,非常灵活。

    增删改查

    关联数组的增删改查和索引数组类似,我们以 $book 为例,先初始化一个空数组:

    $book = [];

    然后通过指定键值对来新增元素:

    $book['name'] = 'Laravel精品课';

    $book['author'] = '学院君';

    $book['publish_at'] = 2020;

    $book['price'] = 99.0;

    $book['published'] = false;

    $book['desc'] = '掌握 Laravel 和 Vue 技术栈,成为合格的 PHP 全栈工程师!';

    $book['url'] = 'https://xueyuanjun.com/books/master-laravel';

    要获取某个元素值,比索引数组更加方便,因为可以直接通过可读性更强的键名来获取对应元素值:

    $name = $book['name'];

    要更新某个元素值,也可以通过指定键名来修改:

    $book['price'] = 199.0

    要删除某个数组元素值,依然可以通过 unset 函数:

    unset($book['url']);

    此时,通过 print_r($book) 打印数组,输出如下:

    48cad02a5a0dc1b1395104a3b143f687.png

    好了,关于 PHP 数组的基本使用学院君就简单介绍到这里,下一篇教程,我们来学习 PHP 中的运算符和控制结构。如果你对 PHP 数组底层实现感兴趣,可以参考这篇教程:https://xueyuanjun.com/post/20996。

    展开全文
  • php关联数组和索引数组的区别索引数组用数字作为键名的数组一般叫做索引数组。用字符串表示键的数组就是下面要介绍的关联数组索引数组的键是整数,而且从0开始以此类推。索引数组初始化例:...

    37678c6f2db9aae56f89e614c131b498.png

    php关联数组和索引数组的区别

    索引数组

    用数字作为键名的数组一般叫做索引数组。用字符串表示键的数组就是下面要介绍的关联数组。索引数组的键是整数,而且从0开始以此类推。

    索引数组初始化例:

    <?php 

    //创建一个索引数组,索引数组的键是“0”,值是“苹果”

    $fruit=array("苹果","香蕉");

    print_r($fruit);

    ?>

    运行结果:Array

    (

    [0] => 苹果

    [1] => 香蕉

    )

    索引数组的三种赋值方式:1.array[0]='苹果';

    2.$arr=array('0'=>'苹果');

    3.$arr=array('苹果');

    例:<?php

    //请创建一个数组变量arr,并尝试创建一个索引数组,键是0,值是苹果

    $arr=array(0=>'苹果');

    if( isset($arr) ) {print_r($arr);}

    ?>

    用for与foreach可以访问到数组里面的元素,因for比较容易下面只举使用foreach的例子,<?php

    $fruit=array('苹果','香蕉','菠萝');

    foreach($fruit as $key=>$value){

    echo '
    第'.$key.'值是:'.$value;

    }

    ?>

    运行结果:第0值是:苹果

    第1值是:香蕉

    第2值是:菠萝

    注:这里$key是键值$value则是元素值

    关联数组

    其实关联数组和索引数组的差别只是在键值上,关联数组的键值是字符串,并且是人为的规定,例如:<?php

    //创建一个关联数组,关联数组的键“orange”,值是“橘子”

    $fruit=array('orange'=>'橘子');

    echo $fruit['orange'];

    ?>

    其余初始化,赋值,foreach的用法基本相同。

    更多PHP知识,请访问PHP中文网!

    展开全文
  • 没有查到明确的php中定义关联数组/索引数组的解析,根据phpdocument及百度的一些资料实际的代码测试,对关联数组/索引数据进行定义解析。这个问题主要在手机端ios app产品提供api时遇到,用关联数组转换为json能...
  • 关联数组和索引数组的异同

    万次阅读 2017-02-28 15:20:39
    /* *关联数组索引数组的区别 */ /* *创建一个索引数组索引数组的键是“0”,值是“苹果” *带有数字索引的数组。 */ $fruit=array("苹果","香蕉"); // print_r($fruit); //索引数组有三种...
  • 索引数组 用数字作为键名的数组一般叫做索引数组。用字符串表示键的数组就是下面要介绍的关联数组索引数组的键是整数,而且从0开始以此类推。 例如: a=array(‘山东省’,‘临沂市’,‘罗庄区’); print_r($a); ...
  • - 关联数组:所有键名都为字符串型,注意字符串类型的数字键名会被转换为数值型。- 混合数组:键名既有数值型也有字符串型。## 代码```php/*** 判断数组是否为索引数组*/function is_indexed_array($arr){if (is_...
  • 索引数组的索引值是整数,而关联数组的索引值是字符串。所以我们只要判断是否中数组中是否存在字符串类型的下标即可。 <?php $array = array('A','B'); if(count(array_filter(array_keys($array),'is_string'))...
  • 1.索引数组 数组中各个元素所对应的索引值为数字(JS默认且支持性好) 2.关联数组 数组中各个元素所对应的索引值为字符串(自定义索引名,具有明确性,索引语义化) 二、关联数组 示例:pand..
  • 每一个数据是一个元素,元素包含...索引数组和关联数组的区别是由键名区分的 一、索引数组 <?php $arr = array('华为','三星','vivo','oppo'); print_r($arr); echo '<br/><br/><br/>'; e...
  • 本文实例讲述了php实现数组索引关联数据转换成json对象的方法。分享给大家供大家参考。具体实现方法如下: public static function encode(&$var) { return '{'.implode(',',self::encodeExcute($var)).'}'; } ...
  • php怎么把关联数组转成索引数组PHPPERL、VB不同,其只有“数组”,没有单独的“关联数组”类型,实际上PHP的所有数组都是关联数组,当没有指定键值的时候,键值为0、2…… 例如: $arr=array('a', 'b', 'c');...
  • 这篇文章主要介绍的内容是关于php索引数组和关联数组,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下最近遇到个bug,记录一下//定义一个数组$arr = Array('a','b','c','d');//转为json字符串$str1 ...
  • 我有一个带索引子数组的关联数组,每个数组包含包含内容索引的关联数组。所以像这样(在PHP):将关联数组转换为索引数组的方法$assoc_arr =array("second" => array(array("position" => 4,"content" => ...
  • //创建一个关联数组关联数组的键“orange”,值是“橘子” $fruit=array('orange'=>'橘子'); echo $fruit['orange']; ?> 而 PHP 中的对象指的是: 要创建一个新的对象 object,使用 new 语句实例化一个...
  • 数组就是键值对。键代表指针或者索引,值代表键所指向的字符串; 1.索引数组:指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推...2.关联数组:指数组的键是字符串的数组。 $array = [ 'Meizu' =>
  • 索引数组关联数组的定义及区别

    千次阅读 2020-03-10 10:31:25
    用字符串表示键的数组就是下面要介绍的关联数组索引数组的键是整数,而且从0开始以此类推。 例如: a=array(‘山东省’,‘济南市’,‘莱芜区’); print_r($a); Array ( [0] => 山东省 [1] => 济南市 [2] =&...
  • PHP的JSON中索引数组和关联数组

    千次阅读 2018-05-15 15:34:47
    索引数组和关联数组PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。由于javascript不支持关联...
  • 一、数组和关联数组 数组是Shell脚本非常重要的组成部分,它借助索引将多个独立的独立的数据存储为一个集合。普通数组只能使用整数作为数组索引关联数组不仅可以使用整数作为索引,也可以使用字符串作为索引。通常...
  • Shell 不提供数组,Bash 提供了一维索引数组和一维的关联数组。 索引数组 什么是索引数组?通过整数索引访问的数组就是索引数组。例如 echo $arr[0] 在 Bash 中,数组创建的方式很奇怪,我们可以不声明数组变量,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,414
精华内容 54,565
关键字:

关联数组和索引数组