如果我有一个从我的表单请求我的数据的循环:
for ($i=0;$i < count($_POST['checkbx']);$i++) {
// calculate the file from the checkbx
$filename = $_POST['checkbx'][$i];
$clearfilename = substr($filename, strrpos ($filename, "/") + 1);
echo "'".$filename."',";
}
如何将其添加到下面的示例数组中?:
$files = array(
'files.extension',
'files.extension',
);
答案 0 :(得分:5)
更小:
$files = array();
foreach($_POST['checkbx'] as $file)
{
$files[] = basename($file);
}
如果你不完全确定$_POST['checkbx']
存在并且是一个数组,你应该多做:
$files = array();
if (is_array(@$_POST['checkbx']))
{
foreach($_POST['checkbx'] as $file)
{
$files[] = basename($file);
}
}
答案 1 :(得分:2)
请记住,您还需要在HTML中使用“[]”命名这些复选框。 e.g:
<input type="checkbox" name="checkbx[]" ...etc... >
然后您就可以访问它们了:
<?php
// This will loop through all the checkbox values
for ($i = 0; $i < count($_POST['checkbx']); $i++) {
// Do something here with $_POST['checkbx'][$i]
}
?>
答案 2 :(得分:1)
$files[] =$filename;
OR
array_push($files, $filename);
答案 3 :(得分:1)
您可以使用array_push函数:
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
会给:
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
只需使用array_push为每个文件填充数组。
答案 4 :(得分:0)
可能是这样的:
for ($i=0;$i < count($_POST['checkbx']);$i++) {
// calculate the file from the checkbx
$filename = $_POST['checkbx'][$i];
$clearfilename = substr($filename, strrpos ($filename, "/") + 1);
$files[] = $filename; // of $clearfilename if that's what you wanting the in the array
}
答案 5 :(得分:0)
我不完全确定要添加到该数组的内容,但这里是使用php将数据“推送”到数组中的一般方法:
<?php
$array[] = $var;
?>
例如,你可以这样做:
for ($i=0;$i < count($_POST['checkbx']);$i++)
{
// calculate the file from the checkbx
$filename = $_POST['checkbx'][$i];
$clearfilename = substr($filename, strrpos ($filename, "/") + 1);
echo "'".$filename."',";
$files[] = $filename;
}