2014-08-30 2 views
1

Я имею массив отформатирована строку, хранящуюся в переменном, где мне нужно, чтобы преобразовать его в реальный массивАнализировать Массив Форматированной Строка как массив в PHP

вот мой код

$hello ="array( 
    'numberposts' => -1, 
    'post_type' => 'post', 
    'meta_query' => array( 
     'relation' => 'AND', 
      array( 
       'key' => 'subject_id', 
       'value' => 'CE6301', 
       'compare' => '=' 
       ), 
      array( 
       'key' => 'regulation', 
       'value' => '2013', 
       'compare' => '=' 
       ), 
      ) 
    )"; 

Так вот представляет собой массив, мне нужно преобразовать в отформатированные массив в PHP

так что, когда мой массив печатается он должен выглядеть примерно так

Array ([numberposts] => -1 [post_type] => post [meta_query] => Array ([relation] => AND [0] => Array ([key] => subject_id [value] => CE6301 [compare] => =) [1] => Array ([key] => regulation [value] => 2013 [compare] => =))) 

Какой функции я должен использовать в PHP для преобразования строки массива в обычный массив

+3

'eval()'. Но обязательно прочитайте об этом. – Martijn

+0

@Martijn Ницца, я бы не подумал об этом – andrew

+2

, сохраняя его в JSON, прежде чем это было бы лучше. – 2014-08-30 12:07:33

ответ

1

Я не знаю, как вы раздобыли это, но вы можете использовать eval() на этом. Просто немного измените строку, чтобы создать допустимый массив в конце. Пример:

$hello ="array( 
    'numberposts' => -1, 
    'post_type' => 'post', 
    'meta_query' => array( 
     'relation' => 'AND', 
      array( 
       'key' => 'subject_id', 
       'value' => 'CE6301', 
       'compare' => '=' 
       ), 
      array( 
       'key' => 'regulation', 
       'value' => '2013', 
       'compare' => '=' 
       ), 
      ) 
)"; 

$hello = '$hello = ' . $hello . ';'; 
eval($hello); 
echo '<pre>'; 
print_r($hello); 
+0

Как и я, я пробовал функцию eval, но не работает для меня, но я скопировал ваш код, он отлично работает. В любом случае. Спасибо, призрак. Это то, что я ожидал. – musthafa

+0

@musthafa уверен, что мужчина рад, что он помог. – Ghost

+0

Снова прочитайте некоторую информацию о 'eval()', вы можете создать проблему безопасности. Eval должен использовать только последнее решение. – Martijn

Смежные вопросы