我想從 POST 多個值中爆炸
用第一個空格切斷“1234”(按字符而不是位置)
我收到錯誤“陣列到字串的轉換”
形式
<input type="checkbox" name="docid[]" value="1234 harry potter">
提交
$docID = $_POST['docid'];
foreach($docID as $val) {
echo explode(' ', $val);
}
輸出
1234
編輯 我想將輸出插入資料庫
uj5u.com熱心網友回復:
explode回傳一個字串陣列,因此echo不起作用。它還有第三個引數,用來限制回傳的元素:
<?php
$docID = $_POST['docid'];
foreach($docID as $val) {
$exploded = explode(' ', $val, 2);
// print_r($exploded); # Array ( [0] => 1234 [1] => harry potter )
echo $exploded[0];
}
將輸出1234
編輯:如果你想切斷1234你的結果使用echo $exploded[1];- 這將輸出harry potter
uj5u.com熱心網友回復:
我不太確定您要做什么,但是根據您的代碼,如果您只想記錄從爆炸中得到的資訊,只需將您的爆炸封裝在print_r()
例如:
foreach($docID as $val) {
print_r(explode(' ', $val));
}
uj5u.com熱心網友回復:
簡單:
<form action="index.php" method="post">
<input type="checkbox" name="docid[]" value="1234 harry potter">
<input type="checkbox" name="docid[]" value="45678 test 123">
<button type="submit">Submit</button>
</form>
<?php
$docID = $_POST['docid'] ?? [];
foreach ($docID as $val) {
$values = explode(' ', $val);
foreach ($values as $v) {
echo $v . PHP_EOL;
}
}
輸出(如果所有復選框都被選中):
1234 harry potter 45678 test 123
uj5u.com熱心網友回復:
我找到了另一個解決方案,它也可以。
$docID = $_POST['docid']
foreach($docID as $val) {
echo explode(' ', $val)[0];
echo '<br>';
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/426788.html
