- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
...比关联数组?
关联数组会占用更多内存吗?
$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 开发人员的。总是。
An array in PHP is actually an ordered map. A map is a type that associates values to keys.
Và
PHP arrays can contain integer and string keys at the same time as PHP does not distinguish between indexed and associative arrays.
Và
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/
Tôi có bảng như thế này----------------------------------------- id kích thước tiêu đề ưu tiên
Ứng dụng của tôi chỉ chứa quảng cáo biểu ngữ trong các Hoạt động khác nhau (4 Hoạt động). Vậy câu hỏi của tôi là, tôi có thể sử dụng một ID đơn vị quảng cáo cho tất cả các quảng cáo biểu ngữ không? Hoặc sử dụng các đơn vị quảng cáo khác nhau cho mỗi Hoạt động
Tôi có một danh sách tùy ý các danh sách số tùy ý (nhưng thống nhất). (Chúng là tọa độ ranh giới của các thùng trong không gian n, mà tôi muốn đánh dấu các góc của chúng, nhưng điều đó không quan trọng.) Tôi muốn tạo một danh sách tất cả các tổ hợp có thể có. Vì vậy: [[1,2], [3,4],[5,6]] tạo ra [[1
Tôi vừa mới bắt đầu học Java ở trường và đang thử nghiệm các điều khiển và đồ họa tùy chỉnh. Tôi hiện đang làm việc trên một mẫu khóa và lúc đầu mọi thứ đều ổn nhưng đột nhiên nó không vẽ chính xác. Tôi đã thay đổi một số mã, nhưng khi tôi thấy lỗi, tôi đã ngay lập tức thay đổi lại (hoàn tác, ftw), nhưng
Tôi gặp phải một vấn đề nhỏ khi sử dụng Group By With Rollup khi lấy số lượng riêng biệt. Vấn đề là bản tóm tắt Rollup chỉ là tổng số giá trị Distinct trong tất cả các nhóm, không phải tất cả
Cách này không hiệu quả: select count(distinct colA, colB) from mytable Tôi biết tôi có thể sửa lỗi này dễ dàng bằng lệnh select kép. chọn số lượng(*) từ (
Câu hỏi này đã có câu trả lời ở đây: JavaScript regex whitespace characters (5 câu trả lời) Đã đóng 2 năm trước. Bạn có thể giải thích cho tôi tại sao tôi nhận được văn bản so sánh sai ===
Câu hỏi này đã có câu trả lời: 奥git _a (56 câu trả lời) Đã đóng 9 năm trước. Tôi đã được yêu cầu viết một hàm sortByFoo trong Javascript để phản hồi chính xác cho bài kiểm tra này: // Không bị sập
Vì vậy, tôi phải nói rằng SQL là điểm yếu nhất của tôi với tư cách là một nhà phát triển. Có lẽ điều tôi đang cố gắng thực hiện khá đơn giản. Tôi có thứ gì đó như thế này (đây không phải là mô hình thực tế, nhưng để dễ hiểu và không mất quá nhiều thời gian giải thích, tôi đã đưa ra một mô hình mô phỏng chính xác những gì tôi phải sử dụng
Câu hỏi này đã có câu trả lời tại đây: Từ khóa "this" hoạt động như thế nào? (22 câu trả lời) Đã đóng 3 năm trước. Tóm lại: Tại sao việc gọi hàm trực tiếp và truyền chúng theo tham chiếu lại quan trọng hơn khi sử dụng Đối tượng?
Câu hỏi này đã có câu trả lời ở đây: Đã đóng cách đây 12 năm. Có thể trùng lặp: sự khác biệt giữa toán tử dấu chấm (.) và (- là gì
Tôi không thực sự hiểu chuyện gì đang xảy ra ở đây nhưng: Khi tôi thực hiện điều này: colorIndex += len - stopPos; for(int m = 0; m < len - stopPos; m++) { c
Cách tốt nhất để nghĩ về hàm Group By trong MySQL là gì? Tôi đang viết truy vấn MySQL để trích xuất dữ liệu trong bảng trục trong Excel thông qua kết nối ODBC để người dùng có thể dễ dàng truy cập dữ liệu. Ví dụ, tôi có:
SQL tôi muốn là thế này: SELECT week_no, type, SELECT count(distinct user_id) FROM group WHERE pts > 0 FROM bas
Bảng lưu trữ: +--+-------+--------+ |id|name |date | +--+-------+-------+ |1 |x |Ma
Đối với Chrome và ff, khi nói đến lệnh ie đáng sợ, tập lệnh này hoạt động hoàn hảo. Hàm vấn đề getY(oElement) { var curtop = 0; if (oElem
Tôi không thể cung cấp mã ngay bây giờ vì tôi đang phát triển ý tưởng trong đầu và tìm hiểu trên Internet. Tôi đã học về giao tiếp giữa các tiến trình và sử dụng bộ nhớ chia sẻ để chia sẻ dữ liệu (cụ thể là cấu trúc) giữa các tiến trình. Tuy nhiên, khi sử dụng fork(
Tôi muốn sử dụng các chức năng khác nhau trong bộ sưu tập người dùng. Trong shell mongo, tôi có thể sử dụng như thế này: db.users.distinct("name"); trong đó name là trường bộ sưu tập cần phân biệt. Tôi cũng muốn
Danh sách nastava_izvjestaj = new List(); var data_context = new DataEvidencijaDataContext();
Tôi có Ransack Search và Foundation trong ứng dụng Rails của mình, css cục bộ hiển thị tốt, trong khi ứng dụng tương tự khi đưa vào sản xuất lại có một điểm kỳ lạ: mọi thứ khác trong ứng dụng đều giống hệt nhau. Tôi đang sử dụng Chrome và Safari
Tôi là một lập trình viên xuất sắc, rất giỏi!