我的数据库中有一些数据有些像网格一样。项目位于“行”和“列”中。
我正在编写一些PHP代码来查询数据库中的数据,将其放入内部数组,对其进行一些处理,然后输出显示它的HTML表。
我的问题是,如果内部数组是多维的,就像这样吗?
$mydata[$row][$column]
或者它应该是扁平的,像这样吗?
$mydata[$row . "_" . $column]
代码可能会经常运行(这是多个用户可能会看到的实时刷新)所以我想要最有效率的那个。我的直觉反应表明,平面数组从字符串连接开始会慢一些,而多维数组从嵌套查找开始会慢一些。
我考虑过暂时不存储数据,只是直接从数据本身输出表。不幸的是,后处理的本质意味着我无法做到这一点(某些显示属性需要根据以后的行和列进行更改)。
答案 0 :(得分:6)
一般来说,只有通过基准测试证明它很重要才有意义,但在这种情况下,第一种方法是明显的正确选择。这就是如何使用数组。使用整数索引,数组访问速度最快。构建连接字符串键是一个坏主意,但同样,通过一些简单的基准测试来证明这一点非常容易。
答案 1 :(得分:1)
为什么不使用它:
${"mydata" . "_" . $row . "_" . $column}
我在开玩笑。这就是为什么多维,你的第一个示例数组会更好的原因。你的第二个例子就在两者之间。
对于搜索,排序以及其他所有内容,我建议$mydata[$row][$column]
。