1. Hàm array_fill() trong PHP

Hàm array_fill() trong PHP được sử dụng để điền giá trị người dùng muốn truyền vào mảng. Hàm này cơ bản là tạo ra một mảng do người dùng xác định với một giá trị nhất định được truyền vào. Kết quả trả về sẽ là một mảng mới có số lượng phần tử tương ứng khi truyền vào và gán toàn bộ giá trị của phần tử trong mảng đó là value được truyền vào.

2. Cú pháp của hàm array_fill() trong PHP

Ta có cú pháp của hàm array_fill() trong PHP là:

array_fill($start_index, $number_elements, $values)

Trong đó :

  • $start_index : Tham số này chỉ định vị trí bắt đầu điền các giá trị vào mảng mà người dùng muốn tạo. Nếu $start_index là số âm, chỉ mục đầu tiên của mảng được trả về sẽ là $start_index và các chỉ số sau sẽ bắt đầu từ 0. Vì vậy, tốt hơn là chỉ định một giá trị dương cho nó. Đây là thông số bắt buộc và phải được cung cấp.
  • $number_elements : Tham số này dùng để chỉ số phần tử, người dùng muốn nhập vào mảng. $Number_elements phải là số dương (bao gồm cả 0, đối với phiên bản 5.6.0) nếu không thì một E_WARNING sẽ bị ném ra. Đây cũng là một thông số bắt buộc.
  • $value : Tham số này đề cập đến các value mà chúng ta muốn chèn vào mảng. Các giá trị này có thể thuộc bất kỳ loại nào.

Hàm array_fill() có giá trị truyền vào là $start_index là số key bắt đầu, và $number_elements là số phần tử muốn thêm, $value là giá trị của các phần tử trong mảng đó. Như mình đã nói ở trên thì hàm này sẽ trả về một mảng mới do người dùng tự xác định với value được miêu tả bằng tham số $values .

Ví dụ: điền vào một mảng với value được chỉ định

<?php
$a1=array_fill(3,4,"PHP");
$b1=array_fill(0,1,"Java");
print_r($a1);
echo "<br>";
print_r($b1);
?>

Kết quả

Array ( [3] => PHP [4] => PHP [5] => PHP [6] => PHP )
Array ( [0] => Java )

3. Ví dụ về hàm array_fill() trong PHP

Ví dụ 1:

<?php
function Fill($start_index, $number_elements, $values){
    return(array_fill($start_index, $number_elements, $values));
}

$start_index = 2;
$number_elements = 5;
$values = "laptrinhtudau";
echo '<pre>';
print_r(Fill($start_index, $number_elements, $values));
?>

Kết quả

Array
(
    [2] => laptrinhtudau
    [3] => laptrinhtudau
    [4] => laptrinhtudau
    [5] => laptrinhtudau
    [6] => laptrinhtudau
)

Ở ví dụ này ta đã tạo ra một hàm là fill() với các biến như trên. Sau đó thì ta return lại nó thành một mảng mới với hàm array_fill() . Sau khi điền đầy đủ giá trị thì in ra hàm fill() . Đây cũng là cơ chế hoạt động của hàm array_fill()

Ví dụ 2:

<?php  
$array1 = array_fill(0, 5, false);  
$array2= array_fill(0, 5, true); 
echo '<pre>';
var_dump($array1);  
echo '<pre>';
print_r($array2);  
?>

Kết quả

array(5) {
  [0]=>
  bool(false)
  [1]=>
  bool(false)
  [2]=>
  bool(false)
  [3]=>
  bool(false)
  [4]=>
  bool(false)
}
Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 1
    [4] => 1
)

Như ta đã biết True và False trong PHP là kiểu boolen và True đại diện cho giá trị 1 còn False đại diện cho giá trị 0. Vì vậy khi ta đặt giá trị $values là True hoặc False thì giá trị được in ra màn hình sẽ là 1 hoặc 0.

Ví dụ 3:

<?php  
$f1 = array_fill(5, 5, 'PHP');  
$f2 = array_fill(-2, 3, 'Java');  
echo '<pre>';
print_r($f1);  
echo '<pre>';
print_r($f2);  
?>

Kết quả

Array
(
    [5] => PHP
    [6] => PHP
    [7] => PHP
    [8] => PHP
    [9] => PHP
)
Array
(
    [-2] => Java
    [0] => Java
    [1] => Java
)

Trong ví dụ này khi vị trí bắt đầu là một số âm thì kết quả trả về chỉ mục đầu tiên của mảng được trả về sẽ chính là số âm đó và các chỉ số sau sẽ bắt đầu từ 0.