【问题标题】:Which is the more efficient way to store this ordered pair in php?在 php 中存储这个有序对的更有效方法是什么?
【发布时间】:2010-02-02 12:47:58
【问题描述】:

以下两种数据结构中哪一种“更好”?

array('key'=>array(1,2,3,4))

或者:

array('key',array(1,2,3,4))

即,最好将数组存储为双元素数组中的第二个元素,还是存储为带有键“key”的数组中的单个元素。

假设出于我的目的,为了方便起见,它们是等价的。我只是好奇一个是否比另一个使用更多的资源。

【问题讨论】:

    标签: php arrays performance


    【解决方案1】:

    您可以使用适合您要存储的内容的任何一个。

    如果键与值数组及其唯一性相关,则使用键/值。

    担心在这种情况下使用的资源是微优化和无关紧要的干扰。

    【讨论】:

      【解决方案2】:

      如果这是数组的完整大小,那很好。

      但是,如果你真的有一个类似的数组

      array(
        array('key', array(...)),
        array('key', array(...)),
        array('key', array(...)),
        etc
      );
      

      而不是

      array(
        'key' => array(...),
        'key' => array(...),
        'key' => array(...),
      );
      

      那么它不仅奇怪,而且非常难读。

      【讨论】:

        【解决方案3】:

        将键命名为值的美妙之处在于:

        “我想要 Bob 的价值”

        $bob = $myArray['bob'];
        

        而不是

        foreach($myArray as $key => $value) {
        
            if ($value[0] === 'bob') { // the first value of your 2nd type
                $bob = $myArray[1]; // get the next value.
            }
        
        }
        

        当然,对于第二个示例,您可以考虑end()。但是比较两个,很明显第一个例子赢了!

        【讨论】:

          猜你喜欢
          • 2020-11-17
          • 1970-01-01
          • 2019-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-07
          相关资源
          最近更新 更多