Как мне получить сериализацию данных на WordPress - PullRequest
0 голосов
/ 23 февраля 2011

Как получить сериализацию данных в базе данных WordPress?

Пример

option_name               option_value
-----------------------------------------------------------
widget_example-widget     a:3:{i:2;a:0:{}i:6;a:4:{s:5:"title";s:14:"Example Widget";s:4:"name";s:8:"John Doe";s:3:"age";s:2:"30";s:3:"sex";s:4:"male";}s:12:"_multiwidget";i:1;}

Пример я хочу позвонить sex и я использую

$sex = get_option('widget_example-widget');
echo $sex['sex'];

Возвращается пустым, а при попытке var_dump результат как показано ниже

array(3) {
  [2]=>
  array(0) {
  }
  [6]=>
  array(4) {
    ["title"]=>
    string(14) "Example Widget"
    ["name"]=>
    string(8) "John Doe"
    ["age"]=>
    string(2) "30"
    ["sex"]=>
    string(4) "male"
  }
  ["_multiwidget"]=>
  int(1)
}

На самом деле я могу получить эти данные, добавив $sex['6']['sex'], но проблема здесь [6]=> является динамической. Когда мы активируем / деактивируем виджет, он может иметь другое значение.

Вопрос

Как мне получить правильные данные для этого?

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Я не уверен, что вы действительно хотите, но, возможно, попробуйте функцию, которая проверяет каждый массив, чтобы увидеть, установлен ли индекс "sex", и возвращает значение, если оно есть. Не очень эффективно, но все равно следует это сделать ...

0 голосов
/ 08 октября 2014
$data = 'a:2:{i:0;s:12:"Sample array";i:1;a:2:{i:0;s:5:"Apple";i:1;s:6:"Orange";}}';

$unserialized = unserialize($data);

print_r($unserialized);

Результат:

Array
(
    [0] => Sample array
    [1] => Array
        (
            [0] => Apple
            [1] => Orange
        )
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...