在PHP中存储值

时间:2010-10-28 20:48:49

标签: php multidimensional-array hashtable

我正在尝试将值存储在php中,就像具有多个键的HashTable一样。例如,我希望它返回两个不同的值:

$value1=$content['var1']['var2']['var3']['typea'];

$value2=$content['var1']['var2']['var3']['typeb'];

实现这样的功能的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

如何定义和使用简单的类而不是构建复杂的数组? e.g:

<?php
class beer {
  var $brand;
  var $ounces;
  var $container;
}

$mybeer = new beer();
$mybeer->brand = "Coors";
$mybeer->ounces = 12;
$mybeer->container = "can";

echo $mybeer->brand;
echo $mybeer->ounces;
echo $mybeer->container;
?>

答案 1 :(得分:1)

您可以按照获得值的方式设置值。

$content['var1']['var2']['var3']['typea'] = $value1;
$content['var1']['var2']['var3']['typeb'] = $value2;

答案 2 :(得分:0)

通过让PHP自动创建所需的数组结构,您可以利用PHP作为动态脚本语言:

 $content['var1']['var2']['var3']['typea'] = "value1";

答案 3 :(得分:0)

一种方法是根据各种键创建一个唯一键,并将其存储在一个大数组中。

而不是这个,

$value1=$content['var1']['var2']['var3']['typea'];
你会有这样的事情......

$contentKey = generateKey("var1", "var2", "var3", "typeA");
$value1 = $content[$contentKey];

其中generateKey会对各种输入进行哈希处理,或者将它们与一些唯一的分隔符(如四重下划线)连接在一起。这将需要比其他解决方案更少的阵列查找,并且(在我看来)更容易阅读。