我有以下功能:删除switch语句
private function generateStructureArray($file) {
$splitData = explode('/', $file);
switch(count($splitData)) {
case 1:
$this->hierarchy[] = $splitData[0];
break;
case 2:
$this->hierarchy[$splitData[0]][] = $splitData[1];
break;
case 3:
$this->hierarchy[$splitData[0]][$splitData[1]][] = $splitData[2];
break;
case 4:
$this->hierarchy[$splitData[0]][$splitData[1]][$splitData[2]][] = $splitData[3];
break;
case 5:
$this->hierarchy[$splitData[0]][$splitData[1]][$splitData[2]][$splitData[3]][] = $splitData[4];
break;
}
引擎收录版本:http://pastebin.com/B9vU38nY
我想知道是否有可能去除switch语句此功能,同时还具有相同结果。 $ splitData的大小有时可能超过20,并且20个case switch语句看起来很丑并且错误。我对PHP有相当不错的知识,但到目前为止,我无法想出一个方法来实现这个功能。
你不能只是做一个foreach超过$ splitData()循环? – 2014-03-04 20:10:23