php对象和数组区别

(*-*)浩
发布: 2023-02-23 09:26:02
原创
5983 人浏览过

php中对象和数组的区别

php对象和数组区别

对象不仅有属性,还有方法;,对象可以封装对这些数据的操作,而数组是办不到的。(推荐学习:PHP视频教程

因此:如果是单纯存数据,就用数组,但如果你要定义对这些数据的操作,更建议使用对象

举例:

如果你想在操作的数据里加个通用的方法,比如返回值是加密的,或者其它等等功能,这时候可以考虑写个类,返回数据的时候使用对象的相应方法即可得到想要的数据。

如果从框架设计、扩展的角度来说,还是能用对象就用对象,方便扩展维护。比如你代码里到处用的都是数组,有一天接口返回的数据变了,你要修改很多。 如果用对象的话修改的工作量会小一些。

PHP数组是用hash table来实现的,它的增删基本可以在O(1)内完成。

PHP数组的for遍历是按key大小遍历,慢于foreach。

PHP数组的foreach遍历是按插入先后遍历,最快的PHP数组遍历。

数组是PHP的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组与对象之间切换也是常有的事:

/**
 * 数组 转 对象
 * @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;
}
登录后复制

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

以上是php对象和数组区别的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板