所以我有一个存储在对象中的多维数组。我想为这个数组添加额外的键。
这就是我所拥有的:
$object->pathsArray = array(
"key1" => array('path' => '/some/path/to/some/file.php', 'action' => 'index'),
"key2" => array('path' => '/some/path/to/some/class.php', 'action' => 'method2')
);
以下是我认为会起作用的但却没有:
$object->pathsArray['key3'] = array('path' => '/some/path/to/some/method/or/script.php', 'action' => 'method3');
我的第一个解决方法:
$newPathsArray = array("key3" => array('path' => '/some/path/to/some/method/or/script.php', 'action' => 'method3'));
$object->pathsArray = array_merge($object->pathsArray, $newPathsArray);
应该采用的另一种解决方法:
$tempPathsArray = $object->pathsArray;
$tempPathsArray['key3'] = array('path' => '/some/path/to/some/method/or/script.php', 'action' => 'method3');
$object->pathsArray = $tempPathsArray;
所以我的问题:是否有更简单的语法(即:一行解决方案)或者我被迫引入了一个temp。变量,追加到那个然后合并/重新赋值给对象?
答案 0 :(得分:0)
很抱歉写一个答案,但我无法发表评论。 我认为将属性设为公开只是为了通过这种方式使用它是不正确的。正确的事情应该是让一个setter填充它,而不是为此修改类设计。