精华内容
下载资源
问答
  • 关联数组也称为“键值对(key-value)”数组,键(key)也即字符串形式的数组下标,值(value)也即元素值。 例如,我们可以创建一个叫做 color 的关联数组,并用颜色名字作为下标。 declare -A color color["red"]=...

    现在最新的 Bash shell 已经支持关联数组了。关联数组使用字符串作为下标,而不是整数,这样可以做到见名知意。

    关联数组也称为“键值对(key-value)”数组,键(key)也即字符串形式的数组下标,值(value)也即元素值。

    例如,我们可以创建一个叫做 color 的关联数组,并用颜色名字作为下标。

    declare -A color
    color["red"]="#ff0000"
    color["green"]="#00ff00"
    color["blue"]="#0000ff"
    

    也可以在定义的同时赋值:

    declare -A color=(["red"]="#ff0000", ["green"]="#00ff00", ["blue"]="#0000ff")
    

    不同于普通数组,关联数组必须使用带有-A选项的 declare 命令创建。关于 declare 命令的详细用法请访问:Shell declare和typeset命令:设置变量属性

    展开全文
  • 最近遇上的奇怪的数组下标,查阅资料了解了一下,原来是关联数组,后期有详细了解到关联数组的使用情况的话再和大家分享。 关联数组  “关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,...

    最近遇上的奇怪的数组下标,查阅资料了解了一下,原来是关联数组,后期有详细了解到关联数组的使用情况的话再和大家分享。


    关联数组

     “关联数组是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。

    中文名

    关联数组

        

    一种具有特殊索引方式的数组

        

    标量数据

    元素特定顺序

    关联数组和数组类似,由以名称作为键的字段和方法组成。

    它包含标量数据,可用索引值来单独选择这些数据,和数组不同的是,关联数组的索引值不是非负的整数而是任意的标量。这些标量称为Keys,可以在以后用于检索数组中的数值。

    关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。

    JavaScript的对象本质就是一个关联数组。

    Perl语言中的关联数组用法:

    %ARRAY=(key1,value1,key2,value2,key3,value3);

    一个KEY 对应一个VALUE

     

    使用数组

    数组下标

    JScript 中的数组是稀疏的。也就是说,如果一个数组具有三个元素,编号分别为 01 2,您就可以创建元素 50,而不必担心从 3 49 的参数。如果该数组有一个自动的 length 变量,该 length 变量被设为 51,而不是 4。当然您可以创建各元素的编号之间没有间隙的数组,不过没有必要这样做。

    JScript 中,对象和数组几乎相同。两个主要差别是对象没有自动长度属性,而数组没有对象的属性和方法。

    数组寻址

    使用方括号“[]”来寻址数组。方括号中是一个数值或一个值为整数的表达式。下面的示例假定在脚本的其他地方已定义了entryNum变量,且已赋值。

    theListing = addressBook[entryNum];
    theFirstLine = theListing[1];

    将对象作为关联数组

    通常,使用点运算符“.”访问对象的属性。例如,

    myObject.aProperty

    在这里,属性名称是一个标识符。也可以用索引运算符“[]”访问对象的属性。在这里,是把对象看作一个关联数组关联数组是一种数据结构,它可以动态地将任意的数据的值与任意的字符串相关联。例如,

    myObject["aProperty"] // 与上面相同。

    尽管索引运算符更多地用于访问数组元素,当用于对象时,索引总是以字符串文字表示的属性名称。

    注意访问对象属性的两种方法的重要差异。

    运算符

    属性名称作为

    对属性名称的处理

    “.”

    标识符

    不能作为数据处理

    索引“[]”

    字符串文字

    被作为数据处理

     

    在运行之前并不知道属性名称时,这个差异会有用(比如基于用户输入构造对象时)。要想从一个关联数组提取所有的属性,必须用 for … in 循环。

    展开全文
  • PHP中的数组和其他语言中的数组不同,在PHP中,数组下标可以是整形数值,也可以是字符或者字符串。在PHP数组中,不论是什么样的数组键名都会有一个值与其对应,即一个键名/值对,根据数组键名的数据类型的不同,...

    PHP中的数组和其他语言中的数组不同,在PHP中,数组的下标可以是整形数值,也可以是字符或者字符串。

    在PHP数组中,不论是什么样的数组键名都会有一个值与其对应,即一个键名/值对,根据数组键名的数据类型的不同,我们可以把PHP中的数组分为两类:

    1、以数字作为键名的数字索引数组。

    PHP中的数字所以数组的下标默认从0开始,不需要特别指定,PHP会自动为其分配一个整型数值的下标值,然后自增。当然也可以指定开始的下标。例如:

    $temp_number = array(2=>"one","two","three","four");

    这样在键名值2、3、4、5的位置分别保存着"one","two","three","four"四个元素值。我们也可以任意指定数组的键名保存数组值,例如:

    $temp_number = array(2=>"one",4=>"two",6=>"three");

    这样在键名值2、4、6的位置分别保存着"one","two","three"三个数组元素的值。

    2、以字符串或者字符串/数字混合为键名的关联数组。

    在一个PHP数组中,只要键名中有一个不是数字,那么这个数组就是关联数组。例如:

    $temp_array = ("first"=>1,"2"=>"计算机教程中心网","third"=>3);

    像这样,数组的键名是数字和字符串混合的形式,所以是关联数组。

    展开全文
  • ]--*******集合1--关联数组下标为数字类型) /* plsql集合类型有三种:下面是第一种:关联数组 */ declare --定义一个数组类型 --mytable:自己定义的类型名字 --varchar2:类型mytable中元素的类型 --...
    --*******集合1--关联数组(下标为数字类型)
    /*
    plsql集合类型有三种:下面是第一种:关联数组
    */
    declare
    --定义一个数组类型
    --mytable:自己定义的类型名字
    --varchar2:类型mytable中元素的类型
    --binary_integer:下标索引的数据类型
    type mytable is table of varchar2(1000) index by binary_integer;
    v_mytable mytable; --用刚创建的类型,定义一个变量
    begin
    v_mytable(-1) := '河南省汝州市';
    v_mytable(0) := '的';
    v_mytable(1) := 'S'; --设定下标为1的元素为“chen” 注意元素的下标无限制,可以为负数
    v_mytable(2) := 'U';
    v_mytable(3) := 'P';
    v_mytable(4) := 'A';
    v_mytable(5) := 'N';
    dbms_output.put_line('数组元素的总数是:' || v_mytable.count);
    --注意first,last只是取元素的下标值,并不是取元素的值,如下:
    dbms_output.put_line('第一个元素下标是:' || v_mytable.first || '--第一个元素是:' || v_mytable(v_mytable.first));
    dbms_output.put_line('最后一个元素下标是:' || v_mytable.last || '---最后一个元素是:' || v_mytable(v_mytable.last));

    --for循环取数组中的值
    for v_count in v_mytable.first..v_mytable.last loop
    dbms_output.put_line(v_mytable(v_count));
    end loop;
    end;


    输出:
    数组元素的总数是:7
    第一个元素下标是:-1--第一个元素是:河南省汝州市
    最后一个元素下标是:5---最后一个元素是:N
    河南省汝州市

    S
    U
    P
    A
    N

    PL/SQL 过程已成功完成。



    --*******集合2--关联数组(下标为字符串类型)
    /*
    这种类型相当于java中的map 键-值对
    */
    declare
    type string_table is table of varchar2(30) index by varchar2(30);
    v_mytable string_table;
    v_record emp%rowtype;
    cursor c is select ename,job from emp;
    keyTemp varchar2(30); --集合中存放键的临时变量
    begin
    --读取emp表中的前三条记录,存储在集合v_mytable中,最后遍历该集合。
    for c_temp in c loop
    v_mytable(c_temp.ename) := c_temp.job;
    end loop;
    dbms_output.put_line(v_mytable.count); --集合中元素(键值对)总数
    dbms_output.put_line(v_mytable.first); --集合中第一个元素的键
    dbms_output.put_line(v_mytable.last); --集合中最后一个元素的键

    --//遍历
    keyTemp = v_mytable.first; --取集合中第一个键值对的键赋给临时变量
    while (keyTemp is not null) loop --如果第一个元素的键不为空进行循环
    dbms_output.put_line('键为: ' || keyTemp || ' 值为:' || v_mytable(keyTemp));
    keyTemp := v_mytable.next(keyTemp);
    end loop;
    end;

    输出为:
    14
    ADAMS
    WARD
    键为: ADAMS 值为:CLERK
    键为: ALLEN 值为:SALESMAN
    键为: BLAKE 值为:MANAGER
    键为: CLARK 值为:MANAGER
    键为: FORD 值为:ANALYST
    键为: JAMES 值为:CLERK
    键为: JONES 值为:MANAGER
    键为: KING 值为:PRESIDENT
    键为: MARTIN 值为:SALESMAN
    键为: MILLER 值为:CLERK
    键为: SCOTT 值为:ANALYST
    键为: SMITH 值为:CLERK
    键为: TURNER 值为:SALESMAN
    键为: WARD 值为:SALESMAN

    PL/SQL 过程已成功完成。
    展开全文
  • 1. 关联数组: 索引数组: 下标为数字的数组 ... 解决: 关联数组: 可自定义下标名称的数组 如何: 创建: 2步: 1. 先创建空数组: var scores=[] 2. 在空数组中添加新元素,使用自定义的下标名 ...
  • 1、字符串是一种重要的数据类型,但是c语言并没有显示的字符串数据类型,因为...但是其实现原理还是居于字符和指针,要了解这个原理,我们先看一下有关字符数组、字符和字符串之间的一些关联。 3、字符数组:   char
  • 关联数组

    2019-10-03 01:51:15
    1:数组分为下标数组和维度数组2:下标数组分为索引数组和关联数组3:索引数组就是下标为数字的数组4:关联数组就是下标字符串的数组5:关联数组的元素不计入数组的长度,所以没有办法通过下标去访问数组 //使用...
  • awk关联数组下标

    千次阅读 2015-05-06 22:17:27
    使用变量作为数组索引请参见范例 范例 $ cat employees Tom Jones 4424 5/12/66 543354 Mary Adams 5346 11/4/63 28765 Sally Chang 1654 7/22/54 650000 Billy Black 1683 9/23/44 ...
  • 去看一些文档,但是并没有发现shell数组中对关联数组下标有严格限制,一般都说是字符串; 测试 发现 array["ISO-8859"]=1 bash: array["ISO-8859"]: bad array subscript 但是"ISO-8859" 也是...
  • 数组、指针和字符串是C++语言中很重要的概念。将三个重要的概念放在一起讲述,是因为它们之间有着千丝万缕的联系。软件编程中经常结合三者在一起,从而解决实际问题。下面各个章节将会具体通过相应实例讲述其基本...
  • 索引数组(索引值为数字,以0开始)和关联数组(以字符串作为索引值) 数组的赋值方式有哪两种? 数组的声明方式主要有两种。 1.通过array()函数声明数组; 可以通过key=>value的方式分别定义索引和值,也可以...
  • Javascript 数组下标

    千次阅读 2019-06-13 08:35:52
    1、下面使用JavaScript数组下标,我们看示例吧。 为数组下标指定负值: var a = []; // 定义空数组直接量 a[-1] = 1; // 为下标为-1的元素赋值 alert(a.length); // 返回值为0,说明数组长度没有增加 alert(a...
  • PHP数组的类型-关联数组什么是PHP关联数组?上一篇我们介绍了《PHP数组的类型-数字索引数组》,今天我们具体介绍下关联数组。除了数组索引数组,PHP还有一种关联数组,在其它计算机语言中,一般叫做hash或者map使用...
  • 关联数组与索引数组

    千次阅读 2018-07-10 21:08:25
    关联数组:键是字符串 索引数组(正常数组、一般数组):键是正常的自然数
  • 关联数组虽然可以用字符串下标,但是这个下标是不支持参数传值的,换言之,你需要什么就取什么,听起来很智能,实际上你取值仍然需要你手动去写下标
  • 索引数组的索引值是整数,而关联数组的索引值是字符串。所以我们只要判断是否中数组中是否存在字符串类型的下标即可。 <?php $array = array('A','B'); if(count(array_filter(array_keys($array),'is_string'))...
  • 数组、指针和字符串是C++语言中很重要的概念。将三个重要的概念放在一起讲述,是因为它们之间有着千丝万缕的联系。软件编程中经常结合三者在一起,从而解决实际问题。下面各个章节将会具体通过相应实例讲述其基本...
  • 详谈数组下标数组

    2019-01-10 20:06:16
    js学习 以后坚持一日一更,和大家分享我每天学习的成果及经验,让想要学习的小伙伴少走弯路。 今天学习了数组相关的知识:下标数组(分为索引数组,关联数组)、isArray...关联数组就是下标字符串的数组, 关联数...
  • //声明一个关联数组类型 TYPE myarryId is TABLE OF varchar2(20) index by PLS_INTEGER; //定义关联数组变量 myarr myarryId; //定义数组的下标变量 myIndex PLS_INTEGER; BEGIN select re...
  • leetcode数组下标大于间距 LeetCode # 题目 解答 难度 标签 1 两数之和 Easy 数组 | 哈希表 2 两数相加 Medium 链表 3 无重复字符的最长子串 Medium 动态规划 | 字符串 4 两个排序数组的中位数 Hard 数组 | 二分查找...
  • shell数组、关联数组

    2021-04-04 17:08:14
    文章目录1、基本数组(1)数组的定义(3)获取数组元素(4)统计数组元素的个数(5)获取数组元素的索引(6)获取数组下标从n开始的所有元素(7)从数组下标n开始,获取m个元素2、关联数组(1)关联数组的声明(2)...
  • js中关联数组和索引数组的区别

    千次阅读 2019-09-25 22:09:00
    关联数组的定义就是数组里面的下标字符串 例如 arr[“index”] 可以简写为arr.index 这时候有人会问为什么上面的arr[“0”]不简写为arr.0 有一个很重要的原因就是 和js里面的小数冲突了 所以简写方式...
  • shell中的关联数组

    2017-11-22 12:17:58
    关联数组 普通数组:只能使用整数作为数组索引...关联数组:可以使用字符串作为数组索引   二 申明关联数组变量 #declare -A ass_array1   三 关联数组赋值 数组名[索引]=变量值 #ass_array1[index1]=pear
  • /* 1. []来操作下标,也可以使用{}进行互换,建议使用[]来指定下标。 * 2.在使用下标时,如果是关联数组,一定要是使用引号,不要使用常量名称。...关联数组字符串下标,不会影响索引下标的排列规则。
  • shell关联数组

    2019-01-21 09:26:00
    下标数组元素是通过数组下标数组下标可以是算术表达式,其结果必须是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时会存在限制。shell 提供了另外一种数组,其可以使用任意的字符串作为下标...
  • 1、从数组的下标分为索引数组、关联数组 代码如下: /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始) //索引实际上就是序数,一个整型...
  • js中数组与关联数组

    千次阅读 2018-11-30 20:59:20
    常规数组以非负整数作为下标,而关联数组则用字符串作为下标。 JavaScript是一种非类型语言,因此数组元素不必具有相同的类型。
  • 单引号字符串形式: $s1 = ‘字符串内容’特点:只能使用2个转义符: \n \t ‘ “ \(代表一个反斜杠) \’(代表一个单引号)通常,如果没有其他特殊需求(比如字符串中使用一些转义符,以及一些变量),则推荐使用单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,813
精华内容 13,525
关键字:

关联数组下标只能是字符串