这就是我想要完成的事情:
function foo($args) {
switch($args['type']) {
case 'bar':
bar($args['data']); // do something
break;
}
}
// or something like that
这基本上是在PHP中使用named parameters的一种方式.
现在,为了构建这个$args数组,我被迫编写丑陋的语法,如:
$builtArgs = array('type' => 'bar',
'data' => array(1, 2, 3),
'data2' => array(5, 10, 20)
);
foo($builtArgs);
当我向数组添加更多维度时,这会变得更加丑陋,并且还迫使我编写大量数组(…)构造.有更好的方法吗?
首先,如果我们可以使用类似Python的语法,就可以完成:
$buildArgs = {'type' : 'bar', 'data' : [1, 2, 3], 'data2' : [5, 10, 20]};
但它是PHP.