如何在PHP中将表单多选值作为带前导零的字符串发送


How to send form multi select values as a string with leading zeros in PHP?

我有一种情况,我试图从多选表单中取出值,并将它们作为串联字符串而不是数组发送。多选框的值如下所示:

  • 11111
  • 222
  • 333333

如果在6个字符(012345)下,我希望这些值有一个前导零,如下所示:(这是两种不同的变体)

    foreach ($_POST["book"] as $books)
        {
            $book = $book.str_pad($books, 0, 6, " ", STR_PAD_LEFT);
        }
    foreach ($_POST["book"] as $books)
        {
            $book .= str_pad(substr($books, 0), 6, " ", STR_PAD_LEFT);
        }

我的目标是将这些连接在一起作为一个字符串,如:

  • 011111222222333333

我不确定我在这里做错了什么,但我一直收到PHP错误"为foreach()提供的参数无效"

我们非常感谢任何指导。我一直在寻找一些没有运气的答案。

<select multiple name="book" id="book" size="3">
  <option value="11111" selected="selected">11111</option>
  <option value="222222">222222</option>
  <option value="333333">333333</option>
</select>
$book = '';
$param[] = $bookList->getToolkitService()->AddParameterChar('both', 2500, 'book', 'book', $book);

不确定这是否是足够的信息,但发送的总字符串将是2500个字符

在select中使用name作为:<select name="book[]">

在php:中

  foreach ($_POST['book'] as $key => $book) {
    if(strlen($book)<6){
      for($i = 0; $i < 6-strlen($book); $i++){
        $_POST['book'][$key] = "0".$_POST['book'][$key];
      }
    }
  }
  $books = implode("", $_POST['book']);