sách gpt4 ai đã đi

Liệu PHP có xử lý các mảng được lập chỉ mục theo số theo cách khác nhau (bên trong) không?

In lại 作者:可可西里 更新时间:2023-11-01 13:13:29 31 4
mua khóa gpt4 Nike

...比关联数组?

关联数组会占用更多内存吗?

$arr = array(1, 1, 1);
$arr[10] = 1;
$arr[] = 1; // <- index is 11; does the array become associative here?

1 Câu trả lời

简而言之,PHP 没有非关联数组。

@Sectus 对 PHP 数组的底层实现发表了一个很好的回答。了解“引擎盖下”发生的事情通常是有益的。但是不管它们的底层实现如何,PHP 数组都是作为与键关联的值的有序映射(即关联数组)公开 给 PHP 开发人员的。总是。

Từ PHP:Arrays - Manual

An array in PHP is actually an ordered map. A map is a type that associates values to keys.

PHP arrays can contain integer and string keys at the same time as PHP does not distinguish between indexed and associative arrays.

The key can either be an integer or a string.

数组是数字索引的误解是由于整数键在没有明确指定键的情况下为了方便而自动递增的特性引起的。

但是请注意,即使所有的键都是整数,在 PHP 中也不能保证一个项目存在于例如 $arr[0],据我所知,这在任何其他语言中都是给定的,Thực ra使用索引数组(即,假设索引数组包含至少一个元素,并且从 0 开始)。

这不是微分。恕我直言,那些依赖 PHP 数组表现得像索引数组的程序员没有考虑潜在后果或不了解差异*可能会让自己(或 future 的维护者)为奇怪/意外的行为做好准备。

*我已经对此进行了限定,因为显然在某些情况下,明智的决定利用 PHP 语言围绕数组的类似索引的便利/功能可以提供好处。

关于php - PHP 是否(在内部)以不同方式处理数字索引数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15614566/

31 4 0
Bài viết được đề xuất: c++ - 事件可以跨进程吗?
Bài viết được đề xuất: html - 从导航栏中删除黑色背景
Bài viết được đề xuất: php - laravel - 使用请求类或输入类
Bài viết được đề xuất: javascript - Ember.js 搜索模型动词
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com