2016-04-13 30 views
0

から配列を作成します。私はこのような配列を作成することができます$array = ['key'=>'value'];ストリング命令

をしかし、文字列から配列を作成することが可能である: $string = '['key'=>'value']'? $array = $string$array = (array) $string動作しません。

+0

あなたは文字列から配列を作成することによって何を意味するのですか? PHPの文字列配列のようなものはありません – Erick

答えて

-1

あなたはevalを使用することができます。

$string = '[\'key\'=>\'value\']'; 
$array = eval('return '.$string.';'); 
var_dump($array); 
0

try eval。

http://php.net/manual/en/function.exec.php

$array = "['key'=>'value']"; 
$array = '$array = ' . $array; 
eval($array); 

しかし、それは安全でない可能性があるので、私は、execをお勧めしません。

0

のevalなしで():

$str = "['key'=>'value', 'key2'=>'value2']"; 
$ar = array(); 

foreach(explode(',', preg_replace('/[^\d\w,>]/', "", $str)) as $k => $v) { 
    $tmp = explode('>', $v); 
    $ar[$tmp[0]] = $tmp[1]; 
} 

var_dump($ar); 

出力:

array(2) { 
    ["key"]=> 
    string(5) "value" 
    ["key2"]=> 
    string(6) "value2" 
}