Mảng trong php

Mảng trong php rất quan trọng, vì nhiều vấn đề xử lý phải dùng tới mảng, vì PHP hỗ trợ rất mạnh về mảng. Kỹ năng xử lý mảng bạn cần nắm rõ để giải quyết các tình huống trong lập trình.

Mảng (array) là một biến đặc biệt. Vì trong mỗi mảng có chứa nhiều giá trị. Mỗi giá trị gọi là một phần tử,

Mảng có hai dạng chính: một là các phần tử trong mảng được đánh theo chỉ số , hai là các phần tử trong mảng được đánh theo key (tên).

Mảng trong php có thể là mảng 1 chiều, 2 chiều, 3 chiều… Chiều thứ nhất đánh theo chỉ số còn chiều thứ hai có thể đánh theo key, hoặc chiều thứ nhất đánh theo key còn chiều thứ hai đánh theo key cũng được. Thoãi mái tùy nhu cầu tổ chức dữ liệu của bạn.

Để hiện nhanh một mảng, bạn có thể dùng các hàm có sẵn như var_export(), print_r() hoặc var_dump()

Mảng trong php đánh theo chỉ số

Để tạo 1 mảng gồm các phần tử đánh theo chỉ số, bạn chỉ cần ghi ra giá trị cho các phần t. Khi đó php sẽ gán chỉ số cho từng phần tử (phần tử đầu tiên là 0, kế tiếp là 1…)

<?php //array1.php
   $soluong = [22, 16, 37, 12]; 
   echo $soluong[2] , "<br> "; //37
   echo "Số phần tử: " , count($soluong), "<br>"; //4
   var_export($soluong); //[ 0 => 22, 1 => 16, 2 => 37, 3 => 12 ]
?>

Mảng trong php gồm các phần tử đánh theo tên

Để tạo một mảng mà các phần tử đánh theo key (tên), bạn khai báo tên và giá trị cho từng phần tử . Tham khảo ví dụ sau:

<?php //array2.php
    $sp = ['id'=> 22 , 'ten'=>'Dell X1P6']; 
    echo $sp['ten'] , "<br> "; //37
    $sp['gia'] = 15590000; 
    var_export($sp); //array ('id'=>22, 'ten'=>'Dell X1P6', 'gia'=>15590000, )
?>

Mảng hai chiều, chiều thứ nhất đánh theo chỉ số, chiều thứ hai đánh theo tên

Khai báo mảng gồm nhiều phần tử, mà mỗi phần tử lại là một mảng như sau:

<?php //array3.php
$sp_arr = [
    ['id'=>22, 'ten'=>'Dell X1P6'],
    ['id'=>15, 'ten'=>'HP T2Z6 B5'],
    ['id'=>10, 'ten'=>'MSI RTY9 8GB']
]; 
var_export( $sp_arr[2] ); // ['id'=>10, 'ten'=>'MSI RTY9 8GB']
echo "<h4>", $sp_arr[2]['ten'] , "<h4>"; //MSI RTY9 8GB
?>

Mảng hai chiều, chiều thứ nhất đánh theo tên , chiều thứ hai cũng đánh theo chỉ số

Sau đây là ví dụ khai báo mảng gồm nhiều phần tử. Mỗi phần tử có tên và giá trị của phần tử lại là một mảng như sau:

<?php //array4.php
$router = [
   'trangchu'  => ['NewsController', 'index'] , 
   'chitiettin' =>['NewsController', 'detail'] , 
   'tintheoloai'=>['NewsController', 'cat'] , 
   'dangnhap'  => ['MemberController','loginForm'] , 
   'taikhoan'  => ['NewsController', 'profile'] , 
];
var_export($router['dangnhap']);//['MemberController','loginForm']
?>

Mảng ba chiều, chiều thứ nhất đánh theo tên , chiều thứ hai đánh theo tên, chiều thứ ba đánh theo chỉ số

Khai báo mảng cần phải khai báo tên và giá trị cho từng phần tử

<?php //array5.php
$router = [
    'get' => [
        '' => ['NewsController', 'index'] , 
        'tin' => ['NewsController', 'detail'] , 
        'loai' => ['NewsController', 'cat'] , 
        'dangnhap' => ['MemberController', 'loginForm'] , 
    ], 
    'post' => [
        'tk' => ['NewsController', 'searchResult'] , 
        'dangnhap' => ['MemberController', 'loginXuly'] , 
    ]
];
?>
<pre>
Action: <?php $f  = $router['get']['loai'][1]; echo $f;?> <hr>
Route: <?php $act = $router['get']['loai']; var_export($act); ?> <hr>
Router: <?php $p = ($router['post']);  var_export($p);?> <hr>

Mời bạn đọc thêm bài này để hiểu thêm về mảng