Home  >  Article  >  Backend Development  >  How to convert Java object array to PHP object array

How to convert Java object array to PHP object array

PHPz
PHPzOriginal
2023-04-23 09:08:36416browse

Preface

During development, we will encounter interaction problems between PHP and Java. These two languages ​​have different data structures and programming methods, and also have different performance methods in data transfer. This article will introduce how to convert PHP's object array to Java's object array, and how to convert Java's object array to PHP's object array.

1. Convert PHP to Java

  1. Convert PHP object array to Java object array

In PHP, we can use arrays to store objects . Suppose we have the following PHP array:

$persons = array(
  array('name' => 'Tom', 'age' => 20),
  array('name' => 'Jerry', 'age' => 25),
  array('name' => 'Lucy', 'age' => 30)
);

In Java, we need to first define a Java class to represent this object. Suppose we define a Java class named Person:

public class Person {
  private String name;
  private int age;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

Then we can convert the PHP array to an array of Java objects:

import java.util.ArrayList;

public class Conversion {
  public static void main(String[] args) {
    ArrayList<Person> persons = new ArrayList<>();

    for (int i = 0; i < args[0].length(); i++) {
      Person person = new Person();
      person.setName(args[0][i][&#39;name&#39;]);
      person.setAge(Integer.parseInt(args[0][i][&#39;age&#39;]));
      persons.add(person);
    }
  }
}

In the above example, we used an ArrayList To store Java objects, then iterate through the PHP object array, convert each object to a Java object, and finally add the converted Java object to the ArrayList.

  1. Convert Java object array to PHP object array

For arrays of Java objects, we can use their attribute values ​​to create a PHP object and convert all PHP objects Add to a PHP array, which converts an array of Java objects into an array of PHP objects.

Suppose we have the following array of Java objects:

Person[] persons = new Person[] {
  new Person("Tom", 20),
  new Person("Jerry", 25),
  new Person("Lucy", 30)
};

We can convert the array of Java objects to an array of PHP objects as follows:

$persons = array();
foreach ($persons as $person) {
  $personObj = new stdClass();
  $personObj->name = $person->getName();
  $personObj->age = $person->getAge();
  array_push($persons, $personObj);
}

In the above example, We used a foreach loop to convert each object in the Java object array to a PHP object and add the PHP object to a PHP array.

2. Convert Java to PHP

  1. Convert Java object array to PHP object array

In Java, we can use arrays to store objects . Suppose we have the following array of Java objects:

Person[] persons = new Person[] {
  new Person("Tom", 20),
  new Person("Jerry", 25),
  new Person("Lucy", 30)
};

In PHP, we need to first define a PHP class to represent this object. Suppose we define a PHP class named Person:

class Person {
  public $name;
  public $age;

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}

Then we can convert the Java object array to a PHP object array:

$persons = array();
foreach ($persons as $person) {
  $personObj = new Person($person->getName(), $person->getAge());
  array_push($persons, $personObj);
}

In the above example, we used a The foreach loop converts each object in the Java object array to a PHP object and adds the PHP object to a PHP array.

  1. Convert PHP object array to Java object array

For arrays of PHP objects, we can use their attribute values ​​to create a Java object and convert all Java objects Added to a Java array, this converts an array of PHP objects into an array of Java objects.

Suppose we have the following array of PHP objects:

$persons = array(
  array('name' => 'Tom', 'age' => 20),
  array('name' => 'Jerry', 'age' => 25),
  array('name' => 'Lucy', 'age' => 30)
);

In Java, we need to first define a Java class to represent this object. Suppose we define a Java class named Person:

public class Person {
  private String name;
  private int age;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

Then we can convert the PHP object array to a Java object array:

import java.util.ArrayList;

public class Conversion {
  public static void main(String[] args) {
    ArrayList<Person> persons = new ArrayList<>();

    for (int i = 0; i < args[0].length(); i++) {
      Map<String, Object> personMap = args[0][i];
      Person person = new Person();
      person.setName((String) personMap.get("name"));
      person.setAge((Integer) personMap.get("age"));
      persons.add(person);
    }
  }
}

In the above example, we used a ArrayList to store Java objects, then iterate through the PHP object array, convert each object to a Java object, and finally add the converted Java object to the ArrayList.

Conclusion

This article introduces how to convert PHP's object array to Java's object array, and how to convert Java's object array to PHP's object array. It has great reference value for developers' work and study. Whether in the interaction between PHP and Java or in the face of other data structure conversions, we can learn from these methods to complete code development in a more efficient and accurate way.

The above is the detailed content of How to convert Java object array to PHP object array. 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