精华内容
下载资源
问答
  • 2021-04-13 00:18:51

    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);

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

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

    现在最新的 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命令:设置变量属性

    访问关联数组元素

    访问关联数组元素的方式几乎与普通数组相同,具体形式为:

    array_name["index"]

    例如:color["white"]="#ffffff"

    color["black"]="#000000"

    加上$()即可获取数组元素的值:

    $(array_name["index"])

    例如:echo $(color["white"])

    white=$(color["black"])

    获取所有元素的下标和值

    使用下面的形式可以获得关联数组的所有元素值:

    ${array_name[@]}

    ${array_name[*]}

    使用下面的形式可以获取关联数组的所有下标值:

    ${!array_name[@]}

    ${!array_name[*]}

    获取关联数组长度

    使用下面的形式可以获得关联数组的长度:

    ${#array_name[*]}

    ${#array_name[@]}

    关联数组实例演示:#!/bin/bash

    declare -A color

    color["red"]="#ff0000"

    color["green"]="#00ff00"

    color["blue"]="#0000ff"

    color["white"]="#ffffff"

    color["black"]="#000000"

    #获取所有元素值

    for value in ${color[*]}

    do

    echo $value

    done

    echo "****************"

    #获取所有元素下标(键)

    for key in ${!color[*]}

    do

    echo $key

    done

    echo "****************"

    #列出所有键值对

    for key in ${!color[@]}

    do

    echo "${key} -> ${color[$key]}"

    done

    运行结果:

    #ff0000

    #0000ff

    #ffffff

    #000000

    #00ff00

    ****************

    red

    blue

    white

    black

    green

    ****************

    red -> #ff0000

    blue -> #0000ff

    white -> #ffffff

    black -> #000000

    green -> #00ff00

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

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


    关联数组

     “关联数组是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了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 循环。

    展开全文
  • 1. 关联数组: 索引数组: 下标为数字的数组 ... 解决: 关联数组: 可自定义下标名称的数组 如何: 创建: 2步: 1. 先创建空数组: var scores=[] 2. 在空数组中添加新元素,使用自定义的下标名 ...

    1. 关联数组:
       索引数组: 下标为数字的数组
       问题: 每个元素,只有值,没有有意义的名称
       解决: 关联数组: 可自定义下标名称的数组
       如何: 
          创建: 2步: 1. 先创建空数组: var scores=[]
                           2. 在空数组中添加新元素,使用自定义的下标名
                                  scores["MATH"]=81;
          访问元素: 用自定义的下标名称: 
                scores["MATH"] 用法和普通变量完全一样 
       关联数组原理: 
           hash算法: 散列: 接收一个字符串,然后根据字符串计算出一个尽量不重复的数字。
               相同字符串,计算出的数字一定相同
               不同的字符串,计算出的数字几乎不同的
           关联数组: hash数组
              存入元素: 将下标名交给hash算法,计算出一个尽量不重复的序号,将元素存储到数组中序号指定的位置
              获取元素: 将下标名交给hash算法,计算出和存入时完全一样的序号,直接去数组中序号位置获取元素值——不用遍历
        为什么: 1. 因为下标有意义,便于维护
                     2. 查找极快——和总元素个数以及存储位置无关!
        何时: 1. 今后只要快速查找某个元素时,都用hash数组
                 2. 今后只要存储有意义的一组元素时,都用hash数组
        鄙视: 谈谈对hash的理解: 
          hash算法; 存入;  获取;   优;

       特点: length属性失效,永远为0
       遍历: for in循环: 
          for(var key in hash){//in依次获得每个元素的下标名称
             key//自动获得当前元素的下标名
             hash[key]//当前元素值
          }

    2. 数组API: 浏览器已经实现的,我们直接用的函数
        数组对象: 存储一组数据,提供操作数据的API
        1. 数组转为字符串: 2种:
            1. var str=String(arr): 将arr中每个元素转为字符串,再用逗号链接成一个字符串。
            2. 可自定义连接符: 
                var str=arr.join("自定义连接符")
                固定套路: 1. 无缝拼接: arr.join("")
                                2. 判断数组是空数组: arr.join("")===""
                                3. 动态生成页面元素的内容

    展开全文
  • 关联数组 ====>>> $arr = [ 'orange'=>1,'apple'=>'good' ]; 1.在tp5之前的tp3.2,我们知道索引数组转关联数组,是直接可以转成功的,因为php是弱语言类型. 2.在tp5之后,索引数组不能直接转关联数组,...
  • 前言:我自己用此类回调函数,来替代 foreach 纯粹是用为代码的简洁性,让代码更好看。(我有点代码小洁癖~)1...目的:把 $arr 遍历到 标签内(就是拼接option字符串)$arr = [0 => '全部',1 => 'a',2 => 'b'...
  • 1、从数组的下标分为索引数组、关联数组 代码如下: /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始) //索引实际上就是序数,一个整型...
  • 文章目录目的字符串获取字符串长度拼接字符串截取字符串替换字符串判断与默认值内嵌文档与内嵌字符串内嵌文档 Here Document内嵌字符串...目的 字符串与数组是Shell编程中常用的数据类型,这篇...
  • //中括号里面的内容称之为下标key,该下标可以是字母(单词)或者数字,与变量命名的规则相似 PHP数组特点 1) 可以整数下标或者字符串下标 如果数组下标都为整数:索引数组 如果数组下标都为字符串关联数组 2) ...
  • ]--*******集合1--关联数组下标为数字类型) /* plsql集合类型有三种:下面是第一种:关联数组 */ declare --定义一个数组类型 --mytable:自己定义的类型名字 --varchar2:类型mytable中元素的类型 --...
  • 字符串指针与字符数组传参 深信服的笔试上被吊打,其中对一道用指针做形参的题目印象十分深刻,借此恶补了一晚上指针,今天总结,以作警示。 ​ 试想有如下情形,将一个字符串指针做形参赋值函数修改其字符串,函数...
  • Shell中的数组分为了普通数组关联数字,普通数组下标索引只能是数字,而关联数字可以自定义字符串。一、数组的定义1、普通数组一次赋予多个值(元素)给数组的方式IP=("192.168.100.10" "192.168.100.20" ...
  • leetcode数组下标大于间距 LeetCode # 题目 解答 难度 标签 1 两数之和 Easy 数组 | 哈希表 2 两数相加 Medium 链表 3 无重复字符的最长子串 Medium 动态规划 | 字符串 4 两个排序数组的中位数 Hard 数组 | 二分查找...
  • js数组字符串对象基础知识

    千次阅读 2022-03-25 09:31:43
    自用小技巧 强制转换 Number() 强制转换为数值型 Number('2') //2 Number('2a') //NaN Number(true) //1 Number(undefined)//NaN Number(null) //0 parseInt() 强制转换为整形 ...常用于将小数和字符
  • - 关联数组:所有键名都为字符串型,注意字符串类型的数字键名会被转换为数值型。- 混合数组:键名既有数值型也有字符串型。## 代码```php/*** 判断数组是否为索引数组*/function is_indexed_array($arr){if (is_...
  • Javascript 数组下标

    万次阅读 2019-06-13 08:35:52
    1、下面使用JavaScript数组下标,我们看示例吧。 为数组下标指定负值: var a = []; // 定义空数组直接量 a[-1] = 1; // 为下标为-1的元素赋值 alert(a.length); // 返回值为0,说明数组长度没有增加 alert(a...
  • PHP数组介绍_php

    千次阅读 2021-04-24 10:37:44
    数组基础:php中,数组下标可以整数,也可以是字符串php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定定义:$arr1 = array(元素1,元素2,。。。。。。);array(1,1.1,5,'abc',true,false); //...
  • PHP数组的类型-关联数组什么是PHP关联数组?上一篇我们介绍了《PHP数组的类型-数字索引数组》,今天我们具体介绍下关联数组。除了数组索引数组,PHP还有一种关联数组,在其它计算机语言中,一般叫做hash或者map使用...
  • Bash 的关联数组详解Bash 支持关联数组(associative arrays),可以使用任意的字符串、或者整数作为下标来访问数组元素。关联数组下标和值称为键值对,它们是一一对应关系,键是唯一的,值可以不唯一。要使用关联...
  • 首先我们看看数组的分类: 从数组的下标分为索引数组、关联数组 代码如下: /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始),索引实际上...
  • 详谈数组下标数组

    2019-01-10 20:06:16
    js学习 以后坚持一日一更,和大家分享我每天学习的成果及经验,让想要学习的小伙伴少走弯路。 今天学习了数组相关的知识:下标数组(分为索引数组,关联数组)、isArray...关联数组就是下标字符串的数组, 关联数...
  • php怎么把关联数组转成索引数组PHP和PERL、VB不同,其只有“数组”,没有单独的“关联数组”类型,实际上PHP的所有数组都是关联数组,当没有指定键值的时候,键值为0、2…… 例如: $arr=array('a', 'b', 'c');...
  • 代码如下: var beatles = [“john”,”Paul”,”George”,”Ringo”]; 上面中的beatles数组是个传统数组典型的例子:每个元素的下标是一个...你也可以使用字符串: 代码如下: var lennon = Array(); lennon[“name
  • shell数组、关联数组

    2021-04-04 17:08:14
    文章目录1、基本数组(1)数组的定义(3)获取数组元素(4)统计数组元素的个数(5)获取数组元素的索引(6)获取数组下标从n开始的所有元素(7)从数组下标n开始,获取m个元素2、关联数组(1)关联数组的声明(2)...
  • 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 ...
  • 字符串声明方式:单引号,双引号、定界符 定界符定义字符串<<<STR STR: 内置函数:简单快速处理函数 strlen:求字符串长度 strpos():查找字符串中给定的字符 首次出现的位置 strrpos();最后出现的位置...
  • 1、从数组的下标分为索引数组、关联数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* 索引数组,即通常情况下所说的数组 */ var ary1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,314
精华内容 15,725
关键字:

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