не может понять, как вставить новую строку в определенном расположении в массиве относительно данного URI.
, чтобы быть более конкретным,
Я пытаюсь создатьфункция, подобная следующей:
function insertNewFolder($name, $path){
$struct = json_decode( file_get_contents('structure.json'), true );
//at this place I want to include $name in the array according the given $path
}
давайте предположим, что $ struct является следующим массивом:
$struct = array( 'folder' => array('subfolder1', 'subfolder2') );
ПРИМЕЧАНИЕ: область действия может содержать более одной подпапки.пример: array( 'folder' => array( 'subfolder' => array( 'subsubfolder' )));
Если я вызову метод, подобный этому insertNewFolder('subfolder3', 'folder');
, результирующий массив должен быть:
$struct = array( 'folder' => array('subfolder1', 'subfolder2', 'subfolder3') );
Это моя попытка:
function insertNewFolder($name, $path){
...
// insert the new folder according the path
$segments = explode('/', $path);
$arr_path = '';
foreach( $segments as $s ){
$arr_path .= "['$s']";
}
eval("/$menu$arr_path[] = '$name';");
...
}
Это сработало бы, если бы метод eval не вызывал исключение:
Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 16
Прошу вашей помощи, есть ли лучший способ достичь этого конца или как округлить это исключение?
С уважением