Hướng dẫn how to define array length in php - cách xác định độ dài mảng trong php

Tôi đang tạo một mảng mới trong một vòng lặp.

for $i < $number_of_items
    $data[$i] = $some_data;

PHP liên tục phàn nàn về phần bù vì đối với mỗi lần lặp, tôi thêm một chỉ mục mới cho mảng, đó là loại ngu ngốc.

Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..

Có một số cách để xác định trước các mục số trong mảng để PHP sẽ không hiển thị thông báo này?

Nói cách khác, tôi có thể xác định trước kích thước của mảng theo cách tương tự như thế này không?

$myarray = array($size_of_the_earray);

Hướng dẫn how to define array length in php - cách xác định độ dài mảng trong php

Đã hỏi ngày 22 tháng 3 năm 2011 lúc 0:39Mar 22, 2011 at 0:39

Reed Richardsreed RichardsReed Richards

4.0088 Huy hiệu vàng39 Huy hiệu bạc54 Huy hiệu Đồng8 gold badges39 silver badges54 bronze badges

2

Không có cách nào để tạo ra một mảng có kích thước được xác định trước mà không cung cấp các giá trị cho các phần tử của mảng đó.


Cách tốt nhất để khởi tạo một mảng như thế là array_fill. Cho đến nay thích hợp hơn các giải pháp Loop and-chèn khác nhau.

$my_array = array_fill(0, $size_of_the_array, $some_data);

Mỗi vị trí trong

Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
0 sẽ chứa
Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
1.

Số 0 đầu tiên trong array_fill chỉ biểu thị chỉ mục từ nơi mảng cần được lấp đầy bằng giá trị.

Hướng dẫn how to define array length in php - cách xác định độ dài mảng trong php

Đã trả lời ngày 22 tháng 3 năm 2011 lúc 0:42Mar 22, 2011 at 0:42

Hướng dẫn how to define array length in php - cách xác định độ dài mảng trong php

9

Có khả năng có liên quan- Nếu bạn muốn khởi tạo và điền vào một mảng với một loạt các giá trị, hãy sử dụng hàm phạm vi của PHP (chờ ...):

$a = range(1, 5);  // array(1,2,3,4,5)
$a = range(0, 10, 2); // array(0,2,4,6,8,10)

Đã trả lời ngày 4 tháng 12 năm 2013 lúc 1:24Dec 4, 2013 at 1:24

MadbreaksmadbreaksMadbreaks

Phù hiệu vàng 18,6K756 Huy hiệu bạc70 Huy hiệu đồng7 gold badges56 silver badges70 bronze badges

Bạn không thể xác định trước một kích thước của một mảng trong PHP. Một cách tốt để đạt được mục tiêu của bạn là như sau:

// Create a new array.
$array = array(); 

// Add an item while $i < yourWantedItemQuantity
for ($i = 0; $i < $number_of_items; $i++)
{
    array_push($array, $some_data);
    //or $array[] = $some_data; for single items.
}

Lưu ý rằng việc sử dụng Array_fill () nhanh hơn để điền vào một mảng:

$array = array_fill(0,$number_of_items, $some_data);

Nếu bạn muốn xác minh xem một giá trị đã được đặt ở một chỉ mục, bạn nên sử dụng các mục sau: mảng_key_exists ("khóa", $ mảng) hoặc isset ($ mảng ["key"])

Xem Array_Key_Exists, ISSET và Array_Fill

Đã trả lời ngày 22 tháng 3 năm 2011 lúc 0:42Mar 22, 2011 at 0:42

1

Có khả năng có liên quan- Nếu bạn muốn khởi tạo và điền vào một mảng với một loạt các giá trị, hãy sử dụng hàm phạm vi của PHP (chờ ...):

Đã trả lời ngày 4 tháng 12 năm 2013 lúc 1:24

Madbreaksmadbreaks

Phù hiệu vàng 18,6K756 Huy hiệu bạc70 Huy hiệu đồng

function isset_or($array, $key, $default = NULL) {
    return isset($array[$key]) ? $array[$key] : $default;
}

Bạn không thể xác định trước một kích thước của một mảng trong PHP. Một cách tốt để đạt được mục tiêu của bạn là như sau:

Lưu ý rằng việc sử dụng Array_fill () nhanh hơn để điền vào một mảng:

Nếu bạn muốn xác minh xem một giá trị đã được đặt ở một chỉ mục, bạn nên sử dụng các mục sau: mảng_key_exists ("khóa", $ mảng) hoặc isset ($ mảng ["key"])

Xem Array_Key_Exists, ISSET và Array_Fill

Mảng PHP không cần phải được khai báo với kích thước.Mar 22, 2011 at 0:45

Một mảng trong PHP thực sự là một bản đồ được đặt hàngJacob

Bạn cũng không nên nhận được cảnh báo/thông báo bằng cách sử dụng mã như ví dụ bạn đã hiển thị. Thông báo phổ biến mà mọi người nhận được là "bù không xác định" khi đọc từ một mảng.1 gold badge22 silver badges29 bronze badges

3

Một cách để chống lại điều này là kiểm tra với

Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
3 hoặc
Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
4 hoặc sử dụng một chức năng như:

$data = array_pad($data,$number_of_items,0);

Để bạn có thể tránh được mã lặp đi lặp lại.

Lưu ý:

Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
3 trả về sai nếu phần tử trong mảng là null, nhưng có mức tăng hiệu suất trên
Notice: Undefined offset: 1 in include() (line 23 of /...
Notice: Undefined offset: 1 in include() (line 23 of /..
Notice: Undefined offset: 1 in include() (line 23 of /..
4.

Nếu bạn muốn chỉ định một mảng có kích thước vì lý do hiệu suất, hãy xem:2 gold badges31 silver badges42 bronze badges

Splfixedarray trong thư viện PHP tiêu chuẩn.Jun 23, 2014 at 18:51

Hướng dẫn how to define array length in php - cách xác định độ dài mảng trong php

Đã trả lời ngày 22 tháng 3 năm 2011 lúc 0:45Academia

Jacobjacob6 gold badges31 silver badges49 bronze badges

8.1931 Huy hiệu vàng22 Huy hiệu bạc29 Huy hiệu đồng

  • Ngoài ra còn có Array_Pad. Bạn có thể sử dụng nó như thế này:
  • Để khởi tạo với số không, các vị trí $ number_of_items của dữ liệu mảng $.

Localheinz

8.6872 Huy hiệu vàng31 Huy hiệu bạc42 Huy hiệu đồng

Đã trả lời ngày 23 tháng 6 năm 2014 lúc 18:51Jan 7, 2015 at 18:56

Php chiều dài mảng là gì?

Thông thường khi chúng ta nói về kích thước của một mảng, chúng ta sẽ nói về việc có bao nhiêu yếu tố tồn tại trong mảng đó. Có hai cách phổ biến để có được kích thước của một mảng. Cách phổ biến nhất là sử dụng hàm số PHP (). Như tên hàm đã nói, Count () sẽ trả về số lượng các phần tử của một mảng.how many elements exist in that array. There are two common ways to get the size of an array. The most popular way is to use the PHP count() function. As the function name says, count() will return a count of the elements of an array.

Độ dài mảng được tính như thế nào?

Xác định kích thước của một mảng bằng toán tử sizeof, ví dụ:sizeof (mảng).Xác định kích thước của giá trị kiểu dữ liệu bằng cách sử dụng sizeof (kiểu dữ liệu).Để tìm độ dài của mảng (có bao nhiêu phần tử), chia tổng kích thước mảng cho kích thước của một kiểu dữ liệu mà bạn đang sử dụng.divide the total array size by the size of one datatype that you are using.

Có phải mảng PHP có kích thước cố định không?

Các mảng không có kích thước thiết lập, chúng là động (không được lưu trữ giống như các ngôn ngữ khác như C).Nếu bạn muốn chỉ định một mảng có kích thước vì lý do hiệu suất, hãy xem: splfixedarray trong thư viện PHP tiêu chuẩn., they are dynamic (not stored the same as other languages such as C). If you want to specify an array with a size for performance reasons, look at: SplFixedArray in the Standard PHP Library.

Chiều dài theo chiều dài mảng là bao nhiêu?

Thuộc tính độ dài của một đối tượng mảng biểu thị số lượng phần tử trong mảng đó.Giá trị là một số nguyên không dấu, 32 bit, luôn luôn lớn hơn số chỉ số cao nhất trong mảng.represents the number of elements in that array. The value is an unsigned, 32-bit integer that is always numerically greater than the highest index in the array.