阵列部件访问

2024-04-02

我试图更好地理解数组。请原谅我的基本问题,因为我三周前刚刚打开我的第一本 php 书。

我知道您可以使用 foreach (或 for 循环)检索键/值对,如下所示。

 $stockprices= array("Google"=>"800", "Apple"=>"400", "Microsoft"=>"4",  "RIM"=>"15",  "Facebook"=>"30");

foreach ($stockprices as $key =>$price)

我感到困惑的是像这样的多维数组:

$states=(array([0]=>array("capital"=> "Sacramento", "joined_union"=>1850, "population_rank"=> 1),
              [1]=>array("capital"=> "Austin", "joined_union"=>1845,"population_rank"=> 2),
              [2]=>array("capital"=> "Boston", "joined_union"=>1788,"population_rank"=> 14)
              ));

我的第一个问题非常基本:我知道“capital”、“joined_union”、“population_rank”是键,“Sacramento”、“1850”、“1”是值(正确吗?)。但是你怎么称呼 [0] [1][2]?它们是“主键”和“大写”等子键吗?我找不到这些的任何定义;无论是在书本上还是在网上。

主要问题是如何检索数组 [0][1][2]?假设我想获取 1845 年 join_union 的数组(或者在 1800 年代更棘手),然后删除该数组。

最后,我可以将数组[0][1][2]分别命名为California、Texas和Massachusetts吗?

$states=(array("California"=>array("capital"=> "Sacramento", "joined_union"=>1850, "population_rank"=> 1),
              "Texas"=>array("capital"=> "Austin", "joined_union"=>1845,"population_rank"=> 2),
              "Massachusetts"=>array("capital"=> "Boston", "joined_union"=>1788,"population_rank"=> 14)
              ));

与其他语言不同,PHP 中的数组可以使用数字或字符串键。你选。 (这不是PHP的一个深受喜爱的特性,其他语言嗤之以鼻!)

$states = array(
    "California"    => array(
        "capital"         => "Sacramento",
        "joined_union"    => 1850,
        "population_rank" => 1
    ),
    "Texas"         => array(
        "capital"         => "Austin",
        "joined_union"    => 1845,
        "population_rank" => 2
    ),
    "Massachusetts" => array(
        "capital"         => "Boston",
        "joined_union"    => 1788,
        "population_rank" => 14
    )
);

至于查询你拥有的结构,有两种方法
1) 循环

$joined1850_loop = array();
foreach( $states as $stateName => $stateData ) {
    if( $stateData['joined_union'] == 1850 ) {
        $joined1850_loop[$stateName] = $stateData;
    }
}
print_r( $joined1850_loop );
/*
Array
(
    [California] => Array
        (
            [capital] => Sacramento
            [joined_union] => 1850
            [population_rank] => 1
        )

)
*/

2) 使用数组过滤器 http://php.net/manual/en/function.array-filter.php功能:

$joined1850 = array_filter(
    $states,
    function( $state ) {
        return $state['joined_union'] == 1850;
    }
);
print_r( $joined1850 );
/*
Array
(
    [California] => Array
        (
            [capital] => Sacramento
            [joined_union] => 1850
            [population_rank] => 1
        )

)
*/

-

$joined1800s = array_filter(
    $states,
    function ( $state ){
        return $state['joined_union'] >= 1800 && $state['joined_union'] < 1900;
    }
);
print_r( $joined1800s );
/*
Array
(
    [California] => Array
        (
            [capital] => Sacramento
            [joined_union] => 1850
            [population_rank] => 1
        )

    [Texas] => Array
        (
            [capital] => Austin
            [joined_union] => 1845
            [population_rank] => 2
        )

)
*/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阵列部件访问 的相关文章

  • PDO SQLSRV 和 PDO MySQL 在获取 int 或 float 时返回字符串

    当您获取时 PDO MS SQL Server 和 PDO MySQL 都会返回一个字符串数组 即使列的 SQL 类型本应是数字类型 例如 int 或 float 我设法解决了这个问题 但我想了解为什么它们一开始就这样设计 是不是因为PDO
  • 为什么我不能在 TCPDF 表中使用 č,ć,đ 图表?

    我正在为我的网站构建一个 tcpdf 文件 该 tcpdf 文件中有一个包含一些数据的表格 但我无法使该章程正常工作 对于编码 我使用 windows 1250 宪章女巫不起作用 我已经尝试过 utf 8 但仍然没有得到这个章程 tcpdf
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • SMTP 配置在生产中不起作用

    我正在尝试在提交表单时发送电子邮件 我正在使用 PHPMailer 使用以下配置发送邮件 mail new PHPMailer mail gt isSMTP mail gt Host mail example in mail gt Port
  • PHP - 获取base64图像字符串解码并保存为jpg(生成空图像)

    嗨 我实际上是通过 ajax 发送一个 base64 图像字符串到一个 php 脚本 该脚本只是解码字符串并将内容保存为 jpg 文件 但结果是一张空图像 这怎么可能 PHP脚本 uploadedPhotos array photo 1 p
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库

随机推荐

  • 以编程方式修复 IE 中的浏览器模式

    我有一个网站完全兼容所有浏览器 包括 IE 7 至 9 当我在 IE 10 上尝试时 我感到很震惊 错误太多 而且因为我没有时间为 IE 10 修复这个问题 而且我也在使用第三方控件 Telerik 所以我决定尝试一个简单的解决方案 文档和
  • 返回具有单个元素的数组或列表时的列表或标量上下文

    我有一个函数func可以返回单个值或值列表 具体取决于函数的调用方式 因此 对于这个特定的函数 调用者会知道何时只期望一个返回值 因此希望使用更简单的语法my var func 代替my var func 问题是 在某些情况下 单个值会转换
  • 隐藏“水平”滚动条但仍然可以滚动

    我需要一些帮助来隐藏水平滚动条并仍然能够滚动 我使用过 webkit 但在 IE 和 Firefox 中不起作用 我见过很多有关垂直滚动条的帮助 但不适用于水平滚动条 有什么帮助吗 更新 我创建了一个 JSFiddle 来展示我的问题 我想
  • 如何设计一个带有可选参数的 RESTful URL 进行搜索?

    如果我必须在 RESTful Web 服务中创建一个 URL 我的客户将使用该 URL 按字段搜索所有企业 其中字段是可选的 那么该 URL 会是什么样子 可以仅通过名称 姓名和电话号码或姓名 电话号码和联系电子邮件来搜索企业 钱德鲁 将所
  • Haskell 生成预过滤排列

    有没有办法生成预过滤的排列 而不是这样做 filter condition permutations list 排列函数可以短路 例如 perms perms xs i j i lt xs j lt perms delete i xs 我尝
  • Phing 字符串操作

    我有一个 Phing 项目 您传入一个参数 我想对此参数执行简单的字符串操作 例如 strtolower 或 ucwords 等 我有什么想法可以解决这个问题吗 使用 PhpEvaLTask 怎么样
  • 如何在 Yii 中安装 AWS SDK

    我想在我的 Yii 项目中使用适用于 PHP 的 Amazon AWS SDK 但是我收到各种包含错误 例如include CFCredentials php failed to open stream No such file or di
  • 如何让 eclipse JSP 表达式语言验证接受 JSP 2.2 EL 构造?

    我有一个带有以下 JSP 标记的页面
  • 震动效果 - Flash CS6 ActionScript 3.0

    这个问题与 ActionScript 3 0 和 Flash CS6 有关 我试图让一个物体在一定时间内稍微摇晃几秒钟 我将其制作为 电影剪辑 并制作了以下代码 import flash events TimerEvent var Mach
  • 同一角度指令的多个实例会扰乱范围变量

    我在页面上多次使用该指令 例如 div div div div
  • Angular2 APP_INITIALIZER 嵌套 http 请求

    我一直在尝试使用APP INITIALIZER在引导过程中加载一些配置数据 类似于如何将从后端渲染的参数传递给 angular2 bootstrap 方法 https stackoverflow com questions 37611549
  • 如何在 Chrome 中使用 Selenium + Python 绑定控制文件的下载

    在哪里可以找到描述可与 Selenium 和 Chrome Web 浏览器一起使用的选项的文档 我想在网络浏览器中打开链接 以获取凭据 但不想下载相应的文件 pdf 或 tiff 或 jpeg 我在 Windows 7 笔记本电脑上使用 P
  • Excon::Errors::Forbidden in UsersController#update

    我正在尝试使用 Carrierwave 将图像上传到 Amazon S3 以便为我的用户提供上传头像的机会 当我添加图像文件并单击 更新 时 收到以下错误消息 Excon Errors Forbidden in UsersControlle
  • 如何使用 javascript 控制 Sass 变量

    我有一个正在生成 CSS 文件的 Sass 文件 我在 sass 文件中使用了许多变量作为背景颜色 字体大小 现在我想通过 JavaScript 控制所有变量 例如 在 style sass 中我们有 bg 000 font size 12
  • 命令行中转换命令出错

    我有一个 bash shell 脚本 如下所示 bin bash SIZES 512 1024 2048 for i in SIZES do SIZE SIZES i echo SIZE first resize original imag
  • 我需要 SQLBulkcopy 的进度条

    我的应用程序需要进度条 我正在通过文本文件将数据上传到 SQL Server 但这需要很多时间 而且我也使用了后台工作程序 但这不能正常工作 所以我只需要知道是否有任何方法可以将进度条与 SQL Bulk Copy 一起使用它告诉我插入了
  • Python:如何让程序等待函数或方法完成

    程序经常需要等待函数完成其工作 有时恰恰相反 主程序不需要等待 我举了一个简单的例子 有四个按钮 单击每个将调用相同的calculate 函数 唯一的区别是函数的调用方式 直接打电话 使用队列 每个线程完成后将结果放入队列中 然后您只需读取
  • 我必须使用 SVN API 或库访问/提交/更新 WPF 应用程序中的 SVN 存储库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 任何可用于从 net 应用程序访问 SVN 的好库 使用 C 到目前为止我发现的唯一 3 个我会尝试的
  • 如何使用 easy_install 安装 django 旧版本?

    我刚刚因为 django 1 3 破坏了我的环境 我的网站都无法运行 因此 我决定使用 virtualenv 来设置不同 python 版本以及 django 的虚拟环境 但是 似乎如果我下载软件包并使用 sudo python setup
  • 阵列部件访问

    我试图更好地理解数组 请原谅我的基本问题 因为我三周前刚刚打开我的第一本 php 书 我知道您可以使用 foreach 或 for 循环 检索键 值对 如下所示 stockprices array Google gt 800 Apple g