PHP:如何在没有eval()的情况下编写此代码

时间:2012-10-15 23:51:34

标签: php eval

  

可能重复:
  String with array structure to Array

我的工作中有一个严格的没有eval()策略,我很难用eval()编写这段代码。

解决方案需要使用包含任意数量句点的$ location var。

如果没有eval()

,你会怎么做?
<?php 

$location = 'details.name.first';
$value = 'Tyler';

$data = array();
$data['details']['name']['first'] = 'Kevin';
$data['details']['name']['last'] = 'Jensen';
$data['details']['phone'] = '(434) 453-5331';

$parts = explode('.', $location);

$command = '$data';
foreach($parts as $part) {
    $command .= '["'.$part.'"]';
}
eval($command.' = $value;');


print_r($data);

0 个答案:

没有答案