Mảng nhiều chiều rất hữu ích khi bạn muốn lưu trữ dữ liệu dưới dạng bảng, chẳng hạn như bảng có hàng và cột
Để tạo một mảng hai chiều, hãy thêm từng mảng trong tập hợp các dấu ngoặc nhọn của chính nó
Ví dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers bây giờ là một mảng với hai mảng là các phần tử của nó
Các yếu tố truy cập
Để truy cập các phần tử của mảng myNumbers, hãy chỉ định hai chỉ mục. một cho mảng và một cho phần tử bên trong mảng đó. Ví dụ này truy cập phần tử thứ ba [2] trong mảng thứ hai [1] của myNumbers
Ví dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
Tự mình thử »
Nhớ lấy. Chỉ mục mảng bắt đầu bằng 0. [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.
Thay đổi giá trị phần tử
Bạn cũng có thể thay đổi giá trị của một phần tử
Ví dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers[1][2] = 9;
System.out.println[myNumbers[1][2]]; // Outputs 9 instead of 7
Tự mình thử »
Lặp qua một mảng đa chiều
Chúng ta cũng có thể sử dụng một
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers[1][2] = 9;
System.out.println[myNumbers[1][2]]; // Outputs 9 instead of 7
6 bên trong một int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers[1][2] = 9;
System.out.println[myNumbers[1][2]]; // Outputs 9 instead of 7
6 khác để lấy các phần tử của mảng hai chiều [chúng ta vẫn phải trỏ đến hai chỉ mục] Trong quá trình làm việc với PHP, nhiều khi developer yêu cầu chuyển đổi dữ liệu mảng thành chuỗi để dễ dàng triển khai các hàm String vào dữ liệu
Trong hướng dẫn này, chúng ta sẽ khám phá ngắn gọn các cách khác nhau để chuyển đổi Mảng thành Chuỗi trong PHP
PHP cung cấp các hàm sẵn có khác nhau để giúp các lập trình viên chuyển đổi Mảng thành Chuỗi. Cả hai hàm tích hợp chỉ lấy một mảng tại một thời điểm và tự động chuyển đổi dữ liệu mảng thành chuỗi
- Hàm PHP json_encode[]
- Hàm nổ PHP []
Hàm PHP json_encode[]
Trong PHP, json_encode[] là hàm được sử dụng phổ biến nhất để chuyển đổi một mảng thành một chuỗi. Hàm này trả về giá trị JSON của mảng đã cho. Hàm json_encode[] chấp nhận một phần tử làm đầu vào ngoại trừ các giá trị tài nguyên
cú pháp
json_encode [ hỗn hợp$value [, int $options = 0 [, int $depth = 512 ]] ]. chuỗi. sai
ví dụ 1. Trong ví dụ dưới đây, chúng tôi đã lấy Mảng đa chiều làm dữ liệu đầu vào. Sau đó, chúng tôi đã áp dụng hàm json_encode[] để chuyển đổi nó thành một chuỗi hoặc một giá trị JSON của mảng đã cho
đầu ra
[{"BMW":"Germany"},{"Ferrari":"Italy"},{"Honda":"Japan"}]
Mặc dù, nếu bạn nhìn vào đầu ra, nó không giống như một chuỗi, nhưng đó là cách đầu ra của JSON trông như thế nào. Hơn nữa, nếu lập trình viên sử dụng hàm var_dump[] trên json_encode[] thì nó sẽ hiển thị các giá trị dưới dạng chuỗi
Hàm implode[] trong PHP để chuyển đổi một mảng thành một chuỗi
Hàm PHP implode[] chấp nhận đầu vào dưới dạng một mảng và tiếp tục chuyển đổi nó thành một chuỗi. Hàm này sử dụng tham số keo, cũng đóng vai trò là dấu phân cách cho đối số mảng đã cho. Do đó, hàm này chấp nhận mảng, chuyển đổi các giá trị của nó thành một chuỗi và nối chúng bằng dấu phân cách
cú pháp
Thông số
$keo. Tham số này chấp nhận các giá trị chuỗi/ký tự đặc biệt được sử dụng thêm để nối các giá trị mảng. Theo mặc định, nó chấp nhận một chuỗi rỗng
$ miếng. Tham số này đại diện cho một mảng có các giá trị dính với nhau bằng keo
Trở lại
Hàm PHP implode[] sẽ trả về tất cả các giá trị Mảng được nối với nhau bằng keo theo thứ tự tuần tự chính xác mà chúng có mặt trong mảng đã cho
ví dụ 1. Dưới đây là phần trình diễn mã để chuyển đổi mảng thành chuỗi bằng cách sử dụng hàm implode[]
đầu ra
The converted string is = Welcome to JavaTpoint
ví dụ 2. Dưới đây là phần trình diễn mã chuyển đổi Mảng được lập chỉ mục thành chuỗi bằng cách sử dụng hàm implode[]
đầu ra
ví dụ 3. Dưới đây là phần trình diễn mã chuyển đổi Mảng kết hợp thành chuỗi bằng cách sử dụng hàm implode[]
đầu ra
South Korea, India, American
Như đã đề cập ở trên, tất cả các giá trị từ mảng sẽ được gắn với nhau. Do đó, nếu tồn tại một vị trí mà người dùng muốn dán phần tử đã tìm nạp của mảng kết hợp lại với nhau, thì trong trường hợp đó, người đó có thể sử dụng chức năng tương tự
Ví dụ 4. Dưới đây là phần trình diễn mã chuyển đổi Mảng đa chiều thành chuỗi bằng cách sử dụng hàm implode[]
Một mảng PHP đa chiều có thể đơn giản hoặc phức tạp, tùy thuộc vào nhu cầu và yêu cầu của dự án. Trong ví dụ dưới đây, chúng ta sẽ xem xét mảng đa chiều cơ bản và hàm gọi lại sẽ giúp nối các phần tử
Mảng là một tập hợp tuần tự các biến có cùng kiểu dữ liệu có thể được truy cập bằng cách sử dụng một số nguyên làm chỉ mục, thường bắt đầu từ 0. Nó lưu trữ các thành phần dữ liệu trong một vị trí bộ nhớ liên tục. Mỗi phần tử có thể được tham chiếu riêng với chỉ mục tương ứng của nó
mảng 1 chiều. Nó là một mảng tuyến tính lưu trữ các phần tử theo thứ tự tuần tự. Hãy để chúng tôi cố gắng chứng minh điều này với một ví dụ. Giả sử chúng ta phải lưu trữ các số nguyên 2, 3, 5, 4, 6, 7. Chúng ta có thể lưu trữ nó trong một mảng kiểu dữ liệu số nguyên. Cách để làm điều đó là
dataType nameOfTheArray [sizeOfTheArray];
int Arr[6];
Ở đây Arr là tên của mảng và 6 là kích thước. Cần xác định mảng kích thước tại thời điểm biên dịch
Để lưu trữ các phần tử trên trong mảng
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
Vì, việc lập chỉ mục của một mảng bắt đầu từ 0, nếu cần truy cập phần tử thứ 4, Arr [ 3 ] sẽ cung cấp cho bạn giá trị của phần tử thứ 4. Tương tự, phần tử thứ n có thể được truy cập bởi Arr[n-1]
mảng nhiều chiều. Có thể coi đây là mảng của mảng. Mảng nhiều chiều được sử dụng phổ biến nhất là mảng 2 chiều. Nó lưu trữ các phần tử bằng cách sử dụng 2 chỉ số, cung cấp thông tin, phần tử cụ thể được lưu trữ ở hàng nào và cột nào. Một mảng 2D thực chất là một ma trận
Tuyên ngôn
________số 8Ở đây, A là một mảng 2D kiểu dữ liệu ký tự. Mảng gồm 3 hàng và 2 cột
Mảng này có thể được sử dụng để lưu trữ 3 từ có độ dài 2, ví dụ - PI, OM, GD. Những từ này sẽ được lưu trữ trong mảng như trong hình.
Ở đây các hàng và cột bắt đầu bằng 0 chỉ mục. Nếu bạn phải truy cập ký tự 'M', bạn có thể truy cập ký tự đó bằng A[ 1 ] [ 1 ]
Hãy cùng thử nghiệm với đoạn mã dưới đây
#include
#include
using namespace std;
int main[ ] {
int Arr[6]; // declaring Arr
Arr[ ] = { 2, 3, 5, 4, 6, 7 }; // Initializing Arr by storing some elements in it.
char A [ 3 ] [ 2 ]; // declaring a 2D array
A [ 3 ] [ 2 ] = { { ‘P’, ‘I’} , {‘O’, ‘M’ } , {‘G’, ‘D’} } ;
// Accessing and printing the 3rd element of the first array.
printf[“The third element of Arr is\n ”, Arr[ 2 ]];
// Printing all the elements of Arr
for [int i = 0; i < 6 ; i ++ ]
printf[“%d “, Arr[i]];
printf[“\n”];
// Printing all the element of A[ ][ ]
printf[“All the elements of 2D array A[ ][ ] are : \n”];
for[ int i = 0 ; i < 3; i++ ] {
for[int j= 0 ; j < 2 ; j++ ] {
printf[“%c “, A[i][j]];
}
printf[“\n”];
}
return 0;
}
đầu ra
Phần tử thứ ba của Arr là 5
2 3 5 4 6 7
Tất cả các phần tử của mảng 2D A[ ][ ] là.
P I
O N
G D
Thời gian cho một bài kiểm tra bất ngờ về mảng? . Đây rồi. Giả sử bạn có một mảng. A[ 6 ] = {2, 5, 6, 4, 7, 9} và bạn phải tìm tổng các phần tử nằm trong khoảng từ 2 đến 4. Bạn sẽ làm nó thế nào ?
Bạn chỉ có thể chạy một vòng lặp từ chỉ mục bắt đầu đến chỉ mục kết thúc và có thể lưu trữ tổng trong một biến cụ thể. Hãy thực hiện điều này trong C++
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
0Đầu ra.
Đầu ra cần thiết là. 17
Bây giờ hãy nói về chuỗi
Một chuỗi thực chất là một dãy các ký tự. Nói cách khác, chúng ta có thể nói chuỗi đó là một mảng kiểu dữ liệu ký tự. Một thể hiện của một chuỗi được gọi là một chuỗi ký tự. Chúng được đặt trong dấu ngoặc kép [“”]. Ví dụ: “HackerEarth” được gọi là một chuỗi ký tự. Có hai loại chuỗi trong C++. Chuỗi kiểu C Loại chuỗi
Chuỗi kiểu C là mảng ký tự một chiều. Tuy nhiên, chúng có một thuộc tính đặc biệt, chúng kết thúc bằng ký tự null [‘\0’] để biểu thị kết thúc chuỗi
Tuyên ngôn
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
1Khởi tạo. Một mảng ký tự có thể được khởi tạo giống như bất kỳ mảng bình thường nào khác
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
2hoặc nó có thể được khởi tạo trực tiếp bằng cách sử dụng một chuỗi ký tự
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
3str là một chuỗi có một thể hiện [chuỗi ký tự] “HELLO”. Mặc dù chỉ có 5 ký tự nhưng kích thước của chuỗi là 6, vì ký tự null đại diện cho phần cuối của chuỗi. Ký tự null được trình biên dịch tự động thêm vào miễn là kích thước của mảng lớn hơn ít nhất một ký tự so với kích thước của chuỗi. Không bắt buộc kích thước mảng [N] phải lớn hơn chính xác kích thước của chuỗi [n] 1 i. e. N >= n + 1
Để lấy chuỗi kiểu C làm đầu vào, bạn có thể sử dụng đơn giản scanf[] với công cụ xác định định dạng '%s' hoặc chúng ta cũng có thể sử dụng cin. Nó sẽ nhận đầu vào cho đến khi chúng ta nhấn một khoảng trắng hoặc nhập. Ví dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
4Tương tự, bạn có thể in chuỗi kiểu C bằng hàm printf[] với định dạng '%s' hoặc cout
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println[myNumbers[1][2]]; // Outputs 7
5Bây giờ chúng ta hãy nói về kiểu dữ liệu chuỗi trong C++. Nó khác với chức năng chuỗi kiểu C thông thường của bạn theo nhiều cách. Trong C, chuỗi chỉ là mảng ký tự kết thúc bằng ký tự null. Tuy nhiên, trong các chuỗi C++, người ta không cần bận tâm về kích thước của mảng hoặc ký tự null. C++ cung cấp một kiểu lớp bên trong được sử dụng để làm việc với các chuỗi. Chuỗi có thể được khai báo và khởi tạo như sau
Tuyên ngôn
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
0Khởi tạo
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
1Xin lưu ý rằng mặc dù các chuỗi C++ là một loại lớp riêng biệt, các ký tự của chúng vẫn có thể được tham chiếu bằng cách sử dụng chỉ mục dựa trên 0, giống như các chuỗi C. Ví dụ trong ví dụ trên str[ 2 ] là ký tự ‘L’ và người ta có thể lặp qua chuỗi giống như một mảng bình thường
Bây giờ chúng ta hãy xem xét một số chức năng mà chúng ta có thể thực hiện trên chuỗi. Trong C có một số hàm được xác định trước có thể được sử dụng để thực hiện các thao tác phổ biến trên các chuỗi như sao chép, nối, so sánh và tìm độ dài. Một điều quan trọng cần lưu ý là tất cả các hàm được sử dụng trong hàm chuỗi kiểu C cũng có thể được áp dụng trên chuỗi C++
Sao chép. Sao chép chuỗi này sang chuỗi khác. Hàm chuỗi kiểu C
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
2Chiều dài. Tìm chiều dài của chuỗi. Hàm chuỗi kiểu C. strlen[s1];
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
3nối. Thêm một chuỗi vào cuối chuỗi kia. Hàm chuỗi kiểu C. strcat[s1, s2];
chuỗi C++
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
4So sánh. So sánh hai chuỗi có bằng nhau hay không. Hàm chuỗi kiểu C
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
5chuỗi C++
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
6GHI CHÚ. Tất cả các hàm chuỗi kiểu C ở trên nằm trong tệp tiêu đề của C++
Để lấy kiểu dữ liệu chuỗi làm đầu vào, bạn không thể sử dụng scanf[]. Chúng ta cần sử dụng cin. Nó sẽ nhận đầu vào cho đến khi chúng ta nhấn một khoảng trắng hoặc nhập. Ví dụ
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
7Tương tự, bạn không thể in trực tiếp kiểu dữ liệu chuỗi bằng hàm printf[]. Chúng ta có thể sử dụng cout hoặc chúng ta có thể chuyển đổi kiểu dữ liệu chuỗi thành chuỗi kiểu C bằng cách sử dụng hàm c_str[] và sau đó sử dụng printf[]
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
8Xem xét vấn đề tìm độ dài của một chuỗi mà không sử dụng bất kỳ hàm sẵn có nào
Để tính độ dài của chuỗi, chúng ta nên duyệt từ đầu cho đến khi gặp ký tự null. Vì ký tự null đại diện cho phần cuối của chuỗi - do đó, giúp chúng tôi biết rằng chúng tôi đã đến cuối chuỗi
dataType nameOfTheArray [ ] = {elements of array };
int Arr [ ] = { 2, 3, 5, 4, 6, 7 };
9Đầu ra.
Độ dài của chuỗi str là. 5
Độ dài của chuỗi str là. 5
str có ví dụ “HELLO”. Chúng tôi bắt đầu từ đầu tôi. e. , s[ 0 ] tương đương với 'H' và so sánh nó với ký tự null. Sau đó, chúng tôi sẽ tiếp tục điều này bằng cách so sánh từng ký tự trong chuỗi với ký tự null