The difference between php objects and arrays

(*-*)浩
Release: 2023-02-23 09:26:02
Original
5983 people have browsed it

The difference between objects and arrays in php

The difference between php objects and arrays

##Objects not only have attributes, but also methods; objects can encapsulate these data The operation cannot be done with arrays. (Recommended learning: PHP video tutorial)

Therefore:

If you are simply storing data, use arrays, but if you want to define the data Operation, it is recommended to use object !

Example:

If you want to add a common method to the data being manipulated, such as the return value being encrypted, or other functions, you can consider it at this time Write a class and use the corresponding method of the object to get the data you want when returning data.

If you can still use objects from the perspective of framework design and expansion, use objects to facilitate expansion and maintenance. For example, arrays are used everywhere in your code. One day the data returned by the interface changes, and you have to modify a lot. If you use objects, the modification workload will be smaller.

PHP arrays are implemented using hash tables, and their additions and deletions can basically be completed in O(1).

For traversal of PHP arrays traverses by key size, which is slower than foreach.

The foreach traversal of PHP arrays is traversed in order of insertion, which is the fastest PHP array traversal.

Arrays are the soul of PHP and are very powerful, but sometimes object-oriented programming is also very convenient. Switching between arrays and objects is also common:

/**
 * 数组 转 对象
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr) {
    if (gettype($arr) != 'array') {
        return;
    }
    foreach ($arr as $k => $v) {
        if (gettype($v) == 'array' || getType($v) == 'object') {
            $arr[$k] = (object)array_to_object($v);
        }
    }
    return (object)$arr;
}
/**
 * 对象 转 数组
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj) {
    $obj = (array)$obj;
    foreach ($obj as $k => $v) {
        if (gettype($v) == 'resource') {
            return;
        }
        if (gettype($v) == 'object' || gettype($v) == 'array') {
            $obj[$k] = (array)object_to_array($v);
        }
    }
    return $obj;
}
Copy after login
More PHP related technologies Article, please visit the

PHP Graphic Tutorial column to learn!

The above is the detailed content of The difference between php objects and arrays. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template