Chuyển đổi mảng thành đối tượng PHP

Nếu bạn chưa quen với PHP, thông qua bài viết của chúng tôi, bạn cũng sẽ tìm hiểu đối tượng và mảng là gì, để giúp bạn chuyển đổi dễ hiểu hơn

Mặt khác, nếu bạn là một lập trình viên PHP dày dạn kinh nghiệm và bạn muốn làm mới các phương thức chuyển đổi json_decode và json_encode, thì bài viết của chúng tôi cũng dành cho bạn. Bất kể bạn đang ở cấp độ nào với PHP, hướng dẫn của chúng tôi sẽ giúp bạn hiểu sâu hơn về đối tượng tạo PHP từ phương thức mảng

nội dung

Mọi thứ bạn cần biết về PHP Object to Array

Như đã nêu, các quy trình cần thiết để biến đối tượng thành mảng, từ chuyển đổi sang tạo, sẽ được thảo luận chi tiết. Nhưng hãy để chúng tôi giải thích một số thuật ngữ cơ bản trước khi chúng tôi tiếp tục khám phá tất cả các cách có thể chuyển đổi đối tượng PHP thành mảng

Đối tượng là gì?

Các đối tượng trong PHP là điều đầu tiên bạn nghĩ đến khi tạo một chương trình trong lập trình hướng đối tượng (OOP). Chúng là những đoạn mã nhỏ được tạo trong khi lập trình bằng hầu hết các ngôn ngữ. Trong khi đó, mỗi đối tượng được chuyển đổi thành một lớp đối tượng;

Mỗi đối tượng là một thể hiện của một lớp hoặc lớp con cụ thể, hoàn chỉnh với tập hợp các phương thức hoặc hàm và biến riêng của nó. Một đối tượng chỉ đơn giản là một chương trình chạy trên máy tính và hỗ trợ phát triển các ứng dụng web phức tạp và có thể tái sử dụng. Một đối tượng là một thể hiện của lớp

Lưu ý rằng các lớp không là gì nếu không có đối tượng. Các đối tượng của một lớp được tạo bằng cách sử dụng từ khóa, “new. ”

Hãy xem một ví dụ


hạng Xe {
//Của cải
tên $ công khai;
$color công khai;
// Phương thức
Hàm set_name($name) {
$this – >name =  $name;
}
Hàm get_name() {
$cái này – >tên;
}
}
$bmw = Xe mới();
$ferrari = Xe mới();
$bmw – >set_name(‘BMW’);
$ferrari – >set_name (‘Ferrari’);
echo $bmw – > get_name();
Tiếng vang “ và “;
Tiếng vang $ferrari – >get_name();
?>

đầu ra

BMW và Ferrari

Từ kết quả ở trên, có thể thấy rằng đối tượng có tên $bmw $ferrari . can be called anytime when needed.

Mảng là gì?

Mảng là một loại cấu trúc dữ liệu trong PHP cho phép chúng ta lưu trữ nhiều loại phần tử có cùng kiểu dữ liệu trong một biến duy nhất, tiết kiệm thêm công việc tạo một biến riêng cho từng loại dữ liệu mà chúng ta dự định sử dụng. Mảng là lý tưởng để lưu trữ danh sách các phần tử có kiểu dữ liệu giống hệt nhau, có thể truy cập thông qua chỉ mục hoặc vị trí chính của chúng trong mảng

Trong PHP, một mảng được tạo hoặc gọi bởi hàm array() , như bạn có thể biết từ ví dụ bên dưới.


$cars = array(“Benz”, “BMW”, “Audi”);
Tiếng vang "Tôi thích". $car[0]. “,”. $car[1]. "và". $car[2]. “, động cơ của họ nằm ngoài thế giới này               thế giới. ”;
?>

đầu ra

Tôi thích Benz, BMW và Audi, động cơ của họ vượt xa thế giới này

– Mảng và chỉ mục

Trong mảng, chúng ta có cái mà chúng ta gọi là chỉ mục. Chỉ mục là vị trí của đối tượng hoặc kiểu dữ liệu trong một mảng. Chỉ số của một mảng luôn bắt đầu từ số không. Mảng đối tượng, $cars lần lượt là Benz, BMW và Audi ở vị trí 0, 1 và 2.

Một mảng có thể lưu trữ nhiều giá trị dưới một tên duy nhất và dữ liệu có thể được truy cập bằng cách tham chiếu đến một số chỉ mục

– Các loại mảng

Có ba loại mảng trong PHP. Chúng như sau

  • Mảng được lập chỉ mục. Mảng có chỉ mục số
  • Mảng kết hợp. Mảng có khóa được đặt tên
  • Mảng đa chiều. Mảng chứa một hoặc nhiều mảng

Cách chuyển đổi đối tượng thành mảng trong PHP

Vậy làm thế nào để bạn chuyển đổi một đối tượng thành một mảng trong PHP?

– Sử dụng Phương thức json_decode và json_encode

Hàm json_decode() là một hàm PHP tích hợp sẵn dùng để giải mã một chuỗi JSON. Nó lấy một chuỗi được mã hóa JSON và biến nó thành một biến PHP. Hàm json_encode() cũng là một hàm PHP tích hợp được sử dụng để chuyển đổi một mảng hoặc đối tượng trong PHP thành biểu diễn JSON.

Ví dụ dưới đây cho thấy việc chuyển đổi một đối tượng thành một mảng trong PHP bằng cách sử dụng các phương thức json_decode và json_encode


lớp học
{
biến $var1;
biến $var2;
chức năng _construct( $score, $subject)
{
$this –>var1 = $score;
$this – > var2 = $subject;
}
}
//Tạo đối tượng
$subject = new school(68, “Giới thiệu về lập trình PHP”);
// 68 là điểm của môn học;
echo “Trước khi chuyển đổi. ”;
echo “
;

var_dump($subject);
echo “
”;

// Chuyển đối tượng thành mảng kết hợp
$subjectArray = json_Decode(json_encode($subject), true);
Echo “Sau khi chuyển đổi. ”;
var)_dump($subjectArray);
?>

đầu ra

Before conversion:
object(school)#1 (2) {

[“var1”] =>
int(68)
[“var2”] =>
string(31) “Giới thiệu về lập trình PHP”
}

Sau khi chuyển đổi. mảng(2)  {

[“var1”] =>
int(68)
[“var2”} =>
string(31) “Giới thiệu về lập trình PHP”
}

Từ đoạn mã trên, sử dụng phương thức json_decode và json_encode biến một đối tượng thành một mảng

– Chuyển đổi đối tượng thành mảng bằng phương pháp ép kiểu

Thuật ngữ 'truyền kiểu' đề cập đến việc sử dụng giá trị của một biến với một kiểu dữ liệu khác. Nói một cách đơn giản hơn, nó chuyển đổi một biến từ kiểu dữ liệu này sang kiểu dữ liệu khác theo cách thủ công hoặc tự động. Phương pháp truyền được thực hiện bởi một trình biên dịch như Visual Studio Code hoặc lập trình viên thủ công

Ví dụ dưới đây cho thấy việc chuyển đổi một đối tượng thành một mảng trong PHP bằng cách sử dụng phương thức truyền kiểu


lớp xe
{
Biến $item1;
Biến $item2;
Biến $item3;
function_construct( $brand1, $brand2, $brand3)
{
$this ->item1 = $brand1;
$this ->item2 = $brand2;
$this ->item3 = $brand3;
}
}
// Tạo đối tượng cho lớp (ô tô)
$brand = xe mới(“Benz”, “BMW”, “AUDI”);
Echo “Trước khi chuyển đổi. “;
Echo “
”;

//Chuyển đối tượng thành mảng
$brandArray = (mảng)$thương hiệu);
Echo “Sau khi chuyển đổi. ”;
var_dump($brandArray);

đầu ra

Before conversion :
objet(car)#1 (3) {

[“mục1”] =>
chuỗi(4) “Benz”
[“mục2”] =>
chuỗi (3) “BMW”
[“mục3”] =>
chuỗi (4) “AUDI”
}

Sau khi chuyển đổi. mảng(3) {

[“mục1”] =>
chuỗi(4) “Benz”
[“mục2”] =>
chuỗi(3) “BMW”
[“mục3”] =>
chuỗi (4) “AUDI”
}
;

Cách tạo một đối tượng từ mảng trong PHP

Chúng ta đã thảo luận về cách tạo và cách chuyển đối tượng thành mảng trong PHP. Bây giờ, chúng ta sẽ xem xét việc tạo một đối tượng từ một mảng. Chúng tôi đã cung cấp cho bạn bốn ví dụ khác nhau về cách thực hiện việc này, vì vậy bạn có thể tự do áp dụng bất cứ điều gì mà mã của bạn cần bằng cách sử dụng chúng

– Sử dụng Phương thức json_decode và json_encode

Giống như khi chuyển đối tượng thành mảng, việc tạo đối tượng từ mảng trong PHP có thể được thực hiện bằng cách sử dụng hàm json_decode() và json_encode(). Đầu tiên, mảng được tạo sau đó chuyển đổi thành một đối tượng. Sau đó, mảng được chuyển đổi thành một đối tượng bằng cách sử dụng, $object = json_decode (json_encode ($array) ) . Cuối cùng, chúng ta in ra kết quả bằng cách sử dụng hàm var_dump(biến của một đối tượng được viết ở đây) .

Ví dụ của chúng tôi dưới đây minh họa điều này một cách hoàn hảo


// Mảng các loại ô tô
$carArray = [
'ô tô' => ['Benz',  'BMW',  'AUDI']
];
//Chuyển mảng thành đối tượng
$object = json_decode(json_encode($carArray));
// In mảng dưới dạng một đối tượng bằng cách sử dụng
var_dump($object);
?>

đầu ra

đối tượng(stdClass)#1 (1) {
[“ô tô”] =>
mảng (3) {
[0] =>
chuỗi(4)  “Benz”
[1] =>
chuỗi(3)  “BMW”
[2] =>
chuỗi (4) “AUDI”
}
}

– Chuyển đổi mảng kết hợp thành đối tượng

Trong ví dụ này về việc chuyển đổi một mảng kết hợp thành một đối tượng, mảng được chuyển đổi thành đối tượng bằng cách sử dụng, $object = (object) $array. Cuối cùng, chúng ta in kết quả đầu ra bằng hàm var_dump(biến của một đối tượng được viết ở đây) .

Thí dụ

Hãy xem đoạn mã hóa mà chúng tôi đã cung cấp cho bạn và đầu ra của nó bên dưới để áp dụng điều này


// Mảng các loại ô tô
$carArray = mảng(
'ô tô' => ['Benz' , 'BMW' , 'Audi'],
'bộ phận' => ['lốp xe', 'gương', 'thảm chân']
);
//Chuyển mảng thành đối tượng
$object = (đối tượng) $carArray;
// In mảng dưới dạng một đối tượng, tất cả các phần tử bên dưới $carArray
var_dump($object);
// In mảng dưới dạng một đối tượng, chỉ các phần tử bên trong 'parts' trong $carArray Array
var_dump($object ->parts)
?>

đầu ra

đối tượng(stdClass)# (2) {
[“ô tô”] =>
mảng(3) {
[0] =>
chuỗi(4) “Benz”
[1] =>
chuỗi(3) “BMW”
[2] =>
chuỗi (4) “AUDI”
}
[“bộ phận”] =>
mảng(3)  {
[0]=>
chuỗi(4) “lốp xe”
[1] =>
chuỗi(6) “gương”
[2] =>
chuỗi (7) "thảm chân"
}
}
mảng(3)  {
[0]=>
chuỗi(4) “lốp xe”
[1] =>
chuỗi(6) “gương”
[2] =>
chuỗi (7) "thảm chân"
}

– Chuyển mảng đa chiều thành đối tượng

Thông qua phương thức chuyển đổi mảng nhiều chiều thành đối tượng này, mảng được chuyển đổi thành đối tượng bằng cách sử dụng, $object = (object) $array. Cuối cùng, chúng ta in kết quả ra bằng hàm var_dump(biến của một đối tượng được viết ở đây).

Thí dụ


// Mảng các loại ô tô
$schoolArray = mảng(
“Một” => Mảng(“sinh viên” =>’John Doe’),
“Hai” => Mảng(“chủ đề” => “Giới thiệu về Khoa học Máy tính'),
“Ba” => Mảng(“điểm” = ‘84’)
);
//Chuyển mảng thành đối tượng
$object = (đối tượng) $schoolArray;
// In mảng dưới dạng một đối tượng, tất cả các phần tử bên dưới $schoolArray
var_dump($object);
?>

đầu ra

đối tượng (stdClass) #1 (3) {
[“một”]=>
mảng(1) {
[“học sinh”]=>
chuỗi(8) “John Doe”
}
[“hai”]=>
mảng(1) {
[“chủ đề”] =>
chuỗi (32) “Giới thiệu về Khoa học Máy tính”
}
[“ba”]=>
mảng(1) {
[“điểm”] =>
chuỗi(2) “84”
}
}
mảng(1)  {
[“học sinh”]=>
chuỗi(8)  “John Doe”
}

– Chuyển mảng thành đối tượng với vòng lặp Foreach

Phương thức này được sử dụng khi bạn muốn chuyển đổi một mảng thành một đối tượng, nhưng lần này sử dụng vòng lặp foreach. Ngoài ra, mảng được chuyển đổi thành đối tượng bằng cách sử dụng, $object = (object) $array. Cuối cùng, chúng ta in kết quả đầu ra bằng cách sử dụng hàm var_dump(biến của một đối tượng được viết ở đây).

Thí dụ


// Mảng những thứ liên quan đến trường học
$schoolArray = mảng(
“một” => Mảng(“sinh viên” => ‘John ​​Doe’),
“hai” => Mảng(“chủ đề” => ‘Giới thiệu về Khoa học Máy tính’)
“ba” => Mảng(“điểm” => ‘84’)
);
$object = new stdClass();
//Sử dụng vòng lặp foreach
foreach ($schoolArray as $keys => $value)    {
$object -> {$keys} = $value;
}
// In mảng dưới dạng một đối tượng, tất cả các phần tử bên dưới $schoolArray
var_dump($object);
?>

đầu ra

đối tượng(stdClass)#1 (3) {
[“một”]=>
mảng(1)  {
[“học sinh”]=>
chuỗi(8) “John Doe”
}
[“hai”]=>
mảng(1)  {
[“chủ đề”]=>
chuỗi(32) “Giới thiệu về Khoa học Máy tính”
}
[“ba”]=>
mảng(1)  {
[“điểm”]=>
chuỗi(2) “84”
}
}

Phần kết luận

Chúng tôi đã tập trung vào tất cả các chiến lược, phương pháp và hành động trên tất cả những gì bạn cần biết về chuyển đổi đối tượng PHP thành một mảng mà không phải lo lắng gì. Để kết thúc mọi thứ, hãy xem tổng quan nhanh về những gì chúng ta đã đề cập cho đến nay

  • Chuyển đổi mảng thành đối tượng PHP
    Có, có thể chuyển đổi một đối tượng thành một mảng trong PHP và điều này có thể được thực hiện theo hai cách đã thảo luận ở trên. sử dụng phương thức json_decode và json_encode, cũng như phương thức ép kiểu
  • Một đối tượng được gọi là một thể hiện của một lớp
  • Một mảng có thể lưu trữ nhiều giá trị khác nhau dưới một tên duy nhất và dữ liệu có thể được truy cập bằng cách tham chiếu đến một số chỉ mục;
  • Có thể tạo một đối tượng từ một mảng trong PHP và điều này có thể được thực hiện theo nhiều cách. bạn có thể sử dụng phương thức json_decode và json_encode, chuyển đổi mảng kết hợp thành phương thức đối tượng, chuyển đổi mảng đa chiều thành phương thức đối tượng và chuyển đổi mảng thành đối tượng bằng phương pháp vòng lặp foreach

Chuyển đổi đối tượng thành mảng được sử dụng rộng rãi trong quá trình phát triển trò chơi và nhiều ứng dụng dựa trên web. Nếu bạn muốn trau dồi kỹ năng viết mã của mình và trở thành nhà phát triển web hoặc trò chơi giỏi nhất có thể, thì bài viết chuyển đổi đối tượng PHP thành mảng của chúng tôi là một bài viết phù hợp cho hiện tại và tương lai

Đánh giá bài viết này

Chuyển đổi mảng thành đối tượng PHP

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

Làm cách nào để biến một mảng thành một đối tượng trong PHP?

Để chuyển đổi một mảng thành đối tượng, stdClass() được sử dụng . stdClass() là một lớp trống, được sử dụng để chuyển các loại khác thành đối tượng.

Làm cách nào để chuyển đổi mảng PHP thành đối tượng JSON?

Tệp PHP được giải thích. .
Chuyển đổi yêu cầu thành một đối tượng, sử dụng hàm PHP json_decode()
Truy cập cơ sở dữ liệu và điền vào một mảng với dữ liệu được yêu cầu
Thêm mảng vào một đối tượng và trả về đối tượng dưới dạng JSON bằng hàm json_encode()

Làm cách nào để chuyển đổi mảng nhiều chiều thành đối tượng trong PHP?

Sự kết hợp của các hàm mã hóa và giải mã JSON của PHP có thể thực hiện việc chuyển đổi một cách kỳ diệu. $obj = json_decode(json_encode($array)); Đầu tiên, json_encode($array) chuyển đổi toàn bộ mảng đa chiều thành chuỗi JSON. Sau đó, json_decode($string) sẽ chuyển đổi chuỗi JSON thành đối tượng stdClass.

Làm cách nào để chuyển đổi mảng đối tượng thành mảng trong PHP?

Trong phương thức này, hàm json_encode() trả về một chuỗi được mã hóa JSON cho một giá trị nhất định. Hàm json_decode() chấp nhận chuỗi được mã hóa JSON và chuyển đổi nó thành một mảng PHP . Đây là một phương pháp rất phổ biến được sử dụng để chuyển đối tượng sang mảng PHP.