我的目錄路徑/在PHP文件,像這樣的列表:目錄路徑轉換爲JavaScript對象
path1/path2/foo1_jpg
path1/foo2_png
path2/path3/bar_pdf
path2/
path1/
,我想這些轉換爲JavaScript對象。我想到剛剛轉換「/」,以期,然後說是這樣的:
<script>
var files = new Array();
<?php $dirlist = getFileList("images",true); ?> //returns array of directory paths (and other info)
<?php foreach($dirlist as $file): ?>
files.<?=$file['name']?> = "$file['name']";
//where $file['name'] returns, for example, path1.path2.foo1_jpg
<?php endforeach; ?>
console.log(files);
</script>
唯一的問題我已經是,如果一個文件名或目錄以數字開頭的,即我不能說:files.001.foo = "bar";
我相信我需要重載點運算符來處理以數字開頭的名字。這是最好的方式,還是有另一種方式?
我本質上是試圖解析一個形式爲"x1x2...xn/y1y2...yn/..."
的PHP字符串,其中x_i,y_i,z_i等是除「/」以外的字符,嵌入到一個嵌套的javascript對象x1x2x3...xn.y1y2...yn.z1z2z3...zn = {};
中。我想我找到了解決方案here由於此用戶也試圖動態地添加基於分隔字符串的javascript對象(在他的情況下是「_」)。
我不明白:你爲什麼要轉換「/」? –
是的,爲什麼要將「/」轉換爲「。」? – gopi1410
,因爲'file.dir1/dir2/dir3 =「bar」'在javascript中無效。因此,將「/」s轉換爲「。」允許我說'file.dir1.dir2.dir3 =「bar」'。它還允許我輕鬆分配嵌套對象。這是否有意義,還是應該重新措辭? – thed0ctor