Home >Backend Development >PHP Problem >How to delete specific attributes of JSON array object in php

How to delete specific attributes of JSON array object in php

PHPz
PHPzOriginal
2023-04-24 14:50:54689browse

With the continuous development of Internet technology, Web development has become more and more important, and PHP, as a widely used Web development language, has become more and more widely used in the development process. When using PHP to process data, you often encounter situations where you need to delete specific attributes of a JSON array object. Here is a way to implement this function.

First of all, we need to understand that JSON is a lightweight data exchange format that uses simple text form to describe data. In PHP, we can decode a JSON string into an array through the json_decode() function. For example:

$json = '{"name": "Tom", "age": 18, "gender": "Male"}';
$arr = json_decode($json, true);
print_r($arr);

The output result is:

Array
(
    [name] => Tom
    [age] => 18
    [gender] => Male
)

After getting the array, we can delete specific attributes in it through the unset() function. For example:

unset($arr['age']);
print_r($arr);

The output result is:

Array
(
    [name] => Tom
    [gender] => Male
)

In this way, the age attribute is deleted from the array.

However, if you want to delete specific attributes of multiple objects in a JSON array object, a slightly more complicated operation is required. We can iterate through each object in the array through a foreach loop, and then delete the corresponding attributes through the unset() function. For example:

$json = '[{"name": "Tom", "age": 18, "gender": "Male"}, {"name": "Jerry", "age": 20, "gender": "Female"}]';
$arr = json_decode($json, true);

foreach ($arr as $key => $value) {
    unset($arr[$key]['age']);
}

echo json_encode($arr);

The output result is:

[{"name":"Tom","gender":"Male"},{"name":"Jerry","gender":"Female"}]

In this way, the age attribute of all objects in the JSON array object is deleted.

In addition to using the unset() function to delete attributes, we can also use the array_filter() function to filter the array and retain only the required attributes. For example:

$json = '{"name": "Tom", "age": 18, "gender": "Male"}';
$arr = json_decode($json, true);

$arr = array_filter($arr, function($item) {
    return !isset($item['age']);
});

echo json_encode($arr);

The output result is the same as the above example:

{"name":"Tom","gender":"Male"}

In general, PHP provides a variety of methods for operating JSON array objects. Developers can choose the most suitable method according to actual needs. Methods.

The above is the detailed content of How to delete specific attributes of JSON array object in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn