Home > Article > Backend Development > The difference between php objects and arrays
The difference between objects and arrays in php
##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)
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; }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!