Hướng dẫn how to declare array in php with size - cách khai báo mảng trong php với kích thước

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, điều này thật 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 declare array in php with size - cách khai báo mảng trong php với kích thước

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

Reed Richardsreed RichardsReed Richards

3.9788 Huy hiệu vàng38 Huy hiệu bạc54 Huy hiệu đồng8 gold badges38 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 declare array in php with size - cách khai báo mảng trong php với kích thước

Đã 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 declare array in php with size - cách khai báo mảng trong php với kích thước

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,5K755 Huy hiệu bạc70 Huy hiệu đồng7 gold badges55 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,5K755 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 declare array in php with size - cách khai báo mảng trong php với kích thước

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

Jacobjacob6 gold badges30 silver badges49 bronze badges

8.1831 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.6472 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

Làm thế nào để bạn khai báo một mảng có kích thước?

Bạn có thể khai báo các mảng một chiều (1D) với bất kỳ kích thước không âm nào. int [] mảng = new int [10]; // mảng có kích thước 10 int [] Arr2 = new int [100]; // mảng có kích thước 100 int [] Arr3 = new int [1]; // mảng có kích thước 1 int [] Arr4 = new int [0]; // Mảng có kích thước 0!int [] arr = new int[ 10 ]; // Array of size 10 int [] arr2 = new int[ 100 ]; // Array of size 100 int [] arr3 = new int[ 1 ]; // Array of size 1 int [] arr4 = new int[ 0 ]; // Array of size 0!

Làm thế nào bạn có thể khai báo mảng trong PHP?

Tạo một mảng trong PHP trong PHP, hàm mảng () được sử dụng để tạo một mảng: mảng (); Trong PHP, có ba loại mảng: mảng được lập chỉ mục - mảng có chỉ mục số.the array() function is used to create an array: array(); In PHP, there are three types of arrays: Indexed arrays - Arrays with a numeric index.

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.Lưu câu trả lời này., 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. Save this answer.

Làm thế nào để bạn tìm thấy kích thước của một mảng trong PHP?

Cách đếm tất cả các yếu tố hoặc giá trị trong một mảng trong PHP.Chúng ta có thể sử dụng hàm số PHP () hoặc sizeof () để có được số lượng phần tử hoặc giá trị cụ thể trong một mảng.Hàm số đếm () và sizeof () trả về 0 cho một biến mà chúng ta có thể khởi tạo bằng một mảng trống.use the PHP count() or sizeof() function to get the particular number of elements or values in an array. The count() and sizeof() function returns 0 for a variable that we can initialize with an empty array.