私はいつも複雑な配列を吸っていますが、私の脳には何かがあって、理解できなくなっているはずです。私はこの例を本当にシンプルにしようとしていますので、私たちは話題を離れません。私は、それぞれのファイル名を表すために数字を使用するには、このコードを使用します。私は['01' ] $ mod_numsを使用する場合連想配列の問題
$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値を配列に入れたスクリプトから配列を持っています。
$files_to_zip = array(
$mod_nums['1'],
$mod_nums['2']
);
これはうまくいきました。今度は$ _POSTの値を追加して1,2などの数値を入力し、後で1,3,6,12のように$ mod_nums配列に追加します。だから私は、これらの投稿の値のため、爆発を使用:
$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変数の配列形式で表示されます。理にかなっている?つまり、動的な値を持つ配列が必要です。私は何年も前に似た何かに働いていた時に感謝:)
EDIT
ふうに私はメモリから自分自身をそれを考え出しました。これは難しいようですが、そうではありません。私は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