我有一个文本区域,其中同事输入没有扩展名的文件名,然后返回。我的代码获取此输入列表并创建一个名为$list
的数组。然后它将获取该数组并创建一个名为$genList
的更新数组,其中包含额外的文件名:
$fileString = $_POST['fileList'];
$unique = $_POST['unique'];
$size = $_POST['size'];
$generateArray = $_POST['generateArray'];
$list = explode("\r\n",$fileString);
if ($generateArray == "yes") {
if ($size == "5x7inimpos") {
$genList = array();
foreach($list as $element) {
array_push($genList, $element . "_f", $element . "_b", $element . "_i");
}
}
$list = array();
$list = $genList;
}
因此,如果一个工人输入一些文件名,如下:
HOL_12_001_00
HOL_12_002_00
HOL_12_003_00
它最终将转换为数组,文件名末尾有扩展名,如下所示:
$list = array(HOL_12_001_00_f, HOL_12_001_00_b, HOL_12_001_00_i, HOL_12_002_00_f, HOL_12_002_00_b, HOL_12_002_00_i, HOL_12_003_00_f, HOL_12_003_00_b, HOL_12_003_00_i);
但我真正需要做的是在文件名中包含最终数组(_f
,_b
,_i
),如下所示:
$list = array(HOL_12_f_001_00, HOL_12_b_001_00, HOL_12_i_001_00, HOL_12_f_002_00, HOL_12_b_002_00, HOL_12_i_002_00, HOL_12_f_003_00, HOL_12_b_003_00, HOL_12_i_003_00);
我怎样才能实现这一目标?
答案 0 :(得分:3)
替换以下代码:
foreach($list as $element) {
array_push($genList, $element . "_f", $element . "_b", $element . "_i");
}
这个:
$letter = array('f','b','i');
foreach($list as $element) {
for ($i=0;$i<3;$i++) {
$arr = explode('_', $element);
$arr[1] .= '_' . $letter[$i];
$genList[] = implode('_', $arr);
}
}
将以您描述的方式生成数组。