Converting an array to a JSON object array or object array in PHP is a task that often needs to be completed. This article explains how to implement this functionality through sample code.
Convert PHP array to JSON object array
First, we need to define a PHP array that contains multiple associative arrays. An example is as follows:
$data = array( array( 'name' => 'John', 'age' => 30 ), array( 'name' => 'Mary', 'age' => 25 ), array( 'name' => 'Peter', 'age' => 35 ) );
Next, we can use the PHP built-in function json_encode() to convert this PHP array into a JSON object array. The example is as follows:
$json_data = json_encode($data);
With the above code, we convert the PHP array $data into the JSON object array $json_data. The conversion result is as follows:
[ {"name":"John","age":30}, {"name":"Mary","age":25}, {"name":"Peter","age":35} ]
Convert a PHP array to an object array containing methods in a JSON object array
In some cases, we need to convert a PHP array to a JSON object array, where each An object contains methods in addition to properties. To achieve this functionality, we can use anonymous classes in PHP. An example is as follows:
$data = array( new class('John', 30) { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function sayHello() { echo 'Hello, my name is ' . $this->name; } }, new class('Mary', 25) { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function sayHello() { echo 'Hello, my name is ' . $this->name; } }, new class('Peter', 35) { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function sayHello() { echo 'Hello, my name is ' . $this->name; } } );
In the above code, we define a PHP array $data, each element of which is an instance of an anonymous class. The anonymous class contains the $name and $age properties and the sayHello() method. Next, we can convert the PHP array $data into a JSON object array through the json_encode() function.
$json_data = json_encode($data);
The conversion results are as follows:
[ {"name":"John","age":30}, {"name":"Mary","age":25}, {"name":"Peter","age":35} ]
The sayHello() method is not included in the above results, because when converting a PHP object to a JSON object, only attributes will be included, not methods. .
Convert PHP array to an array of objects containing methods in a JSON object array
In some cases, we need to convert a PHP array to an array of JSON objects, in which each object except the attributes Also includes methods. In order to achieve this function, we can use class inheritance. An example is as follows:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function sayHello() { echo 'Hello, my name is ' . $this->name; } } class John extends Person { public function sayHello() { echo 'Hello, my name is ' . $this->name . ' and I am John'; } } class Mary extends Person { public function sayHello() { echo 'Hello, my name is ' . $this->name . ' and I am Mary'; } } class Peter extends Person { public function sayHello() { echo 'Hello, my name is ' . $this->name . ' and I am Peter'; } } $data = array( new John('John', 30), new Mary('Mary', 25), new Peter('Peter', 35) ); $json_data = json_encode($data);
In the above code, we define the class Person and its three subclasses John, Mary and Peter. These three subclasses all inherit from the Person class and override the sayHello() method. Next, we define a PHP array $data, which contains instances of John, Mary, and Peter. Finally, we convert the PHP array $data into an array of JSON objects by calling the json_encode() function.
The conversion result is as follows:
[ {"name":"John","age":30}, {"name":"Mary","age":25}, {"name":"Peter","age":35} ]
Same as the previous example, the above result does not include the sayHello() method. If you need to include methods in a JSON object array, you need to convert these methods as attributes.
Summary
This article explains how to convert an array to a JSON object array or object array in PHP, and includes some examples of special cases, such as: if the objects in the array contain methods, How to make the conversion. Hope these examples are helpful to your work or study.
The above is the detailed content of How to convert PHP array to JSON object array. For more information, please follow other related articles on the PHP Chinese website!

The article compares ACID and BASE database models, detailing their characteristics and appropriate use cases. ACID prioritizes data integrity and consistency, suitable for financial and e-commerce applications, while BASE focuses on availability and

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

Article discusses best practices for PHP input validation to enhance security, focusing on techniques like using built-in functions, whitelist approach, and server-side validation.

The article discusses strategies for implementing API rate limiting in PHP, including algorithms like Token Bucket and Leaky Bucket, and using libraries like symfony/rate-limiter. It also covers monitoring, dynamically adjusting rate limits, and hand

The article discusses the benefits of using password_hash and password_verify in PHP for securing passwords. The main argument is that these functions enhance password protection through automatic salt generation, strong hashing algorithms, and secur

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

The article discusses strategies to prevent XSS attacks in PHP, focusing on input sanitization, output encoding, and using security-enhancing libraries and frameworks.

The article discusses the use of interfaces and abstract classes in PHP, focusing on when to use each. Interfaces define a contract without implementation, suitable for unrelated classes and multiple inheritance. Abstract classes provide common funct


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Zend Studio 13.0.1
Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

WebStorm Mac version
Useful JavaScript development tools
