Làm cách nào để phản đối một mảng trong php?

Đôi khi trong PHP, bạn có thể thấy mình cần chuyển đổi một mảng thành một đối tượng. Trong thủ thuật nhỏ này, chúng ta sẽ thấy điều này có thể đạt được dễ dàng như thế nào

Thời gian đọc. 2 phút

Giới thiệu

Đôi khi trong PHP, bạn có thể thấy mình cần chuyển đổi một mảng thành một đối tượng. Trong thủ thuật nhỏ này, chúng ta sẽ thấy điều này có thể đạt được dễ dàng như thế nào

Mảng

Giả sử, bạn được cung cấp một mảng thuộc tính nào đó chứa một mảng khác. Nghe có vẻ phức tạp?

 [
      'foo',
  'bar'
 ]
];

Đầu ra

Trên mảng print_r, bạn có thể nhận được kết quả giống như

array:1 [
  "items" => array:2 [
    0 => "foo"
    1 => "bar"
  ]
]

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

Vì vậy, hãy chuyển đổi mảng này thành một đối tượng. Ở đây chúng tôi sẽ sử dụng json_encode và json_decode. JSON là ký hiệu đối tượng JavaScript & PHP cung cấp cho chúng tôi khả năng mã hóa và giải mã JSON

– mã hóa json. Để chuyển đổi một mảng thành chuỗi json

– json_decode. Để chuyển đổi một chuỗi json thành một đối tượng

Bước 1 – Mã hóa nó thành một chuỗi

$object = json_encode($array);

var_dump đối tượng này sẽ giúp bạn có được thứ gì đó như

"{"items":["foo","bar"]}"

Chuỗi thông tin này có thể hữu ích cho những thứ như lưu trữ vào cơ sở dữ liệu

Bước 2 – Giải mã nó thành một đối tượng

Bây giờ khi chúng ta có một chuỗi json, chúng ta có thể sử dụng json_decode để chuyển đổi và định dạng chuỗi này thành một đối tượng. Hãy thử điều đó

$object = json_decode(json_encode($array));

var_dump đối tượng này bây giờ sẽ giúp bạn

stdClass Object ( [items] => Array ( [0] => foo [1] => bar ) )

Một điều cần lưu ý về json_decode là, nó chuyển đổi một chuỗi json thành một đối tượng trừ khi bạn cung cấp tùy chọn thứ hai là một boolean có thể đúng hoặc sai. Nếu bạn đặt tham số thứ hai thành “true”, bạn sẽ vẫn nhận được một mảng

Trường hợp sử dụng

Cuối cùng, chúng ta đã chuyển đổi thành công mảng của mình thành một đối tượng, chúng ta có thể sử dụng nó như

foreach ($object->items as $item) {
   echo $item;
}

Hãy tự mình thử thủ thuật nhỏ này và để lại cho chúng tôi một bình luận bên dưới nếu bạn có bất kỳ câu hỏi nào liên quan đến điều này

Cách tốt hơn xung quanh

Sử dụng mã hóa và giải mã JSON để chuyển đổi mảng thành đối tượng có thể tiêu tốn nhiều tài nguyên nếu mảng lớn hơn. Theo cách này, cách tốt hơn để chuyển một mảng thành một đối tượng là sử dụng kiểu truyền đối tượng. Ví dụ

$object = (object)$array;

Điều này cũng sẽ trở lại

stdClass Object ( [items] => Array ( [0] => foo [1] => bar ) )

Tùy thuộc vào bạn chọn phương pháp nào giữa hai phương pháp để chuyển đổi một mảng thành một đối tượng trong PHP

#PHP

Làm cách nào để phản đối một mảng trong php?

Usama Muneer

Một Nhà phát triển Web Full-Stack chuyên nghiệp nhiệt tình, năng động và định hướng chi tiết đến từ Karachi, Pakistan với kinh nghiệm phát triển các ứng dụng bằng JavaScript, WordPress & Laravel cụ thể. Thích viết về các công nghệ web khác nhau với một kỹ năng hữu ích không kém để hiểu ý nghĩa của nó

Chúng ta có thể sử dụng hàm array() để tạo một mảng các đối tượng trong PHP. Hàm sẽ lấy đối tượng làm đối số và sẽ tạo một mảng các đối tượng đó. Chúng ta có thể tạo các đối tượng bằng cách tạo một lớp và định nghĩa một số thuộc tính của lớp. Các thuộc tính của lớp sẽ có một số giá trị. Cuối cùng, các thuộc tính và giá trị sẽ tạo thành một cặp khóa-giá trị trong mảng

Ví dụ, tạo một lớp Motorcycle. Tạo hai thuộc tính công khai, $name$type. Sau đó, tạo một đối tượng

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
0 của lớp Motorcycle bằng cách sử dụng từ khóa
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
2. Điền vào các thuộc tính của đối tượng với bất kỳ giá trị phù hợp nào. Tương tự, tạo một đối tượng khác,
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
3 và điền các giá trị tương ứng. Tiếp theo, tạo một biến
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
4 và viết hàm array() cho nó với hai đối tượng
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
0 và
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
3 làm tham số. Cuối cùng, in biến mảng
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
8 bằng hàm
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
9

Vì vậy, chúng ta có thể tạo một mảng các đối tượng, như được hiển thị trong phần đầu ra. Chúng tôi đã tạo một mảng gồm các đối tượng Motorcycle trong ví dụ bên dưới. Chúng ta có thể thấy các chỉ số

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
1 và
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
2 cho mỗi đối tượng Motorcycle. Các thuộc tính và giá trị của từng đối tượng được hình thành dưới dạng một cặp khóa-giá trị, như đã nêu ở trên

Mã ví dụ

name = 'Husqvarna';
$bike1->type = 'dirt';
$bike2 = new Motorcycle();
$bike2->name = 'Goldwing';
$bike2->type = 'touring';
$bikes = array($bike1, $bike2);
?>
 

đầu ra

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)

Tạo một mảng các đối tượng name = 'Husqvarna'; $bikes[0]->type = 'dirt'; $bikes[1]->name = 'Goldwing'; $bikes[1]->type = 'touring'; ?> 4 trong PHP

Chúng ta có thể tạo một mảng các đối tượng bằng cách tạo một đối tượng của

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
4 trong PHP.
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
4 được định nghĩa trong bộ hàm tiêu chuẩn trong PHP. Nó không phải là một lớp đối tượng cơ sở; . Chúng ta có thể tạo một đối tượng của
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
4, bản chất là một mảng. Sau đó, chúng ta có thể gán các thuộc tính động cho đối tượng bằng các chỉ mục

Ví dụ: tạo một mảng

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
8 và biến nó thành một đối tượng của
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
4 bằng cách sử dụng từ khóa
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
2. Sau đó, đưa chỉ số
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
1 vào mảng
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
8 và gán các thuộc tính
Array
(
 [0] => stdClass Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => stdClass Object
 (
 [name] => Goldwing
 [type] => touring
 )

)
3 và
Array
(
 [0] => stdClass Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => stdClass Object
 (
 [name] => Goldwing
 [type] => touring
 )

)
4. Đưa ra một số giá trị phù hợp mà bạn chọn cho các thuộc tính. Lặp lại quy trình tương tự cho chỉ mục
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
2 trong mảng
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
8. Tiếp theo, in mảng
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
8

Ví dụ bên dưới tạo một mảng gồm các đối tượng

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
4, như được hiển thị trong phần đầu ra bên dưới

Mã ví dụ

name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 

đầu ra

Array
(
 [0] => stdClass Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => stdClass Object
 (
 [name] => Goldwing
 [type] => touring
 )

)

Tạo một mảng đối tượng bằng hàm array() trong PHP

Phương pháp này khá giống với phương pháp đầu tiên. Chúng ta có thể tạo một mảng các đối tượng bằng cách tạo các đối tượng từ một lớp. Ở đây, trước tiên chúng ta sẽ tạo một mảng bằng cách sử dụng hàm array() và sau đó điền các đối tượng vào mảng. Trong phương pháp đầu tiên, chúng tôi đã tạo các đối tượng và sau đó điền chúng vào mảng bằng cách sử dụng hàm array(). Chúng ta sẽ sử dụng chỉ số mảng để đặt giá trị cho các thuộc tính

Ví dụ: tạo một lớp Motorcycle với các thuộc tính như trong phương thức đầu tiên. Sau đó, tạo một mảng với biến

Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
8 bằng cách sử dụng hàm array(). Để trống mảng. Sau đó, tạo một đối tượng của lớp từ mảng
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
4 sử dụng chỉ số
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
1. Đặt các thuộc tính và giá trị cho chỉ mục
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
1. Lặp lại quy trình tương tự cho chỉ mục
name = 'Husqvarna';
$bikes[0]->type = 'dirt';

$bikes[1]->name = 'Goldwing';
$bikes[1]->type = 'touring';
?>
 
2. Cuối cùng, in mảng bằng hàm
Array
(
 [0] => Motorcycle Object
 (
 [name] => Husqvarna
 [type] => dirt
 )

 [1] => Motorcycle Object
 (
 [name] => Goldwing
 [type] => touring
 )
)
9

Cách lấy đối tượng mảng trong PHP?

Chuyển đổi một đối tượng thành một mảng bằng kỹ thuật đánh máy. túi lớp php { chức năng công khai __construct( $item1, $item2, $item3){ $this->item1 = $item1; . "

Tôi có thể sử dụng mảng làm đối tượng không?

Các phần tử mảng có thể là đối tượng .