1

フォームからデータを要求するループがある場合:

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', 
);
4

6 に答える 6

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);
    }
}
于 2009-02-16T23:14:55.430 に答える
2

HTML では、これらのチェックボックスにも名前の後に「[]」を付けて名前を付ける必要があることに注意してください。例えば:

<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]
}

?>
于 2009-02-16T23:13:11.097 に答える
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 を使用して配列を埋めるだけです。

于 2009-02-17T00:10:05.907 に答える
1
$files[] =$filename;

また

array_push($files, $filename);
于 2009-02-16T23:11:10.760 に答える
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;
}
于 2009-02-16T23:13:17.040 に答える
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  
}
于 2009-02-16T23:11:04.613 に答える