Хранение значений в PHP - PullRequest
       28

Хранение значений в PHP

2 голосов
/ 29 октября 2010

Я пытаюсь сохранить значения в php, как HashTable с несколькими ключами. Например, я хотел бы, чтобы это возвращало два разных значения:

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

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

Как лучше всего реализовать такую ​​функцию?

Ответы [ 4 ]

3 голосов
/ 29 октября 2010

Вместо создания сложного массива, как насчет определения и использования простого класса? например:

<?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 голос
/ 29 октября 2010

Вы можете установить значения так же, как вы их получили.

$content['var1']['var2']['var3']['typea'] = $value1;
$content['var1']['var2']['var3']['typeb'] = $value2;
0 голосов
/ 29 октября 2010

Один из способов - создать уникальный ключ на основе различных ключей и сохранить его в одном большом массиве.

Вместо этого

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

у вас будет что-то вроде этого ...

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

, где generateKey будет делать что-то вроде хэширования различных входных данныхили объедините их вместе с каким-то уникальным разделителем, таким как четвертое подчеркивание.Это потребует меньше поисков в массиве, чем другие решения, и (на мой взгляд) легче читать.

0 голосов
/ 29 октября 2010

Вы можете использовать PHP как динамический язык сценариев, позволяя ему автоматически создавать желаемую структуру массива:

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