我總是在複雜的陣列中吮吸,腦中一定有東西阻止我理解它們。我會盡量讓這個例子非常簡單,所以我們不會脫離主題。我用這個代碼用數字來表示每個文件名:聯想陣列的問題
$mod_nums = array('1' => $input_zip_path . '01_mod_1.0.2.zip',
'2' => $input_zip_path . '02_mod_1.0.1.zip',
);
所以,當我使用$ mod_nums ['01' ],將顯示的路徑文件。我從劇本的數組,把這些$ mod_nums值到一個數組,像這樣:
$files_to_zip = array(
$mod_nums['1'],
$mod_nums['2']
);
這工作得很好。現在我想添加一個$ _POST值,以便我可以輸入像1,2和其他數字的數字,例如,我將它們添加到$ mod_nums數組中,比如1,3,6,12。所以我用那些張貼值的爆炸:
$explode_mods = explode(",", trim($_POST['mods']));
現在對於被貨架我的大腦中的大問題並花了幾個小時,不能讓它的工作....我需要files_to_zip $仍然是一個數組並顯示$ mod_nums的發佈值。所以它會是這樣的:
$files_to_zip = array(HAVE $_POSTED VALUES IN HERE);
我希望這是有道理的。我需要$ files_to_zip保持數組格式,從$ mod_nums數組中獲取zip文件的文件路徑,並將其正確顯示,以便動態輸出:
$ files_to_zip = array('01_mod_1.0.2.zip ','02_mod_1.0.1.zip');
因此過帳的數字將以$ files_to_zip變量的數組格式顯示。合理?總之,我需要一個數組來獲得動態值。謝謝:)
編輯
呼我想通了自己從內存中,當我類似很多年前制定的東西。這看起來很難,但事實並非如此。我不得不使用foreach和分配變量到一個數組,像這樣:
$blah = array();
foreach ($explode_mods as $value)
{
$blah[] = $mod_nums[$value];
}
然後我剛分配$ files_to_zip至$胡說:
$files_to_zip = $blah;
作品完美:)我只是忘了如何動態將值分配給數組。
容易誰......? – awm
我見過其他腳本使用了很多。基本上動態值從$ _POST字段到數組中的字符串中用逗號分隔的數組是我所需要的。 –
對不起,但你的問題不是很清楚。 '$ _POST ['mods']'包含什麼樣的值?你已經將'$ files_to_zip'定義爲一個數組,所以你爲什麼需要改變任何東西?我猜你實際上想要做的是使用foreach循環POST數據。不能沒有進一步的信息說。 – JohnP