无法将空格添加到 PHP 中的字符串
Can't get whitespace added to string in PHP
我正在尝试制作一个 Web 表单,将 Web 表单的输入内容逐行输出到平面文本文件。一些字段不是必需的,但输出文件必须输入空格未填写。这是我正在尝试的:
$output = $_SESSION["emp_id"];
if(!empty($_POST['trans_date'])) {
$output .= $_POST["trans_date"];
}else{
$output = str_pad($output, 6);
}
if(!empty($_POST['chart'])) {
$output .= $_POST["chart"];
}else{
$output = str_pad($output, 6);
}
write_line($output);
function write_line($line){
$file = 'coh.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new line to the file
$current .= $line . PHP_EOL;
// Write the contents back to the file
file_put_contents($file, $current);
}
但是,当我检查我的输出时,空格没有出现。关于这是怎么回事的任何想法?提前致谢!
str_pad() won't add that number of spaces, but rather makes the string that length by adding the appropriate number of spaces. Try str_repeat():
$output = $_SESSION["emp_id"];
if(!empty($_POST['trans_date'])) {
$output .= $_POST["trans_date"];
}else{
$output = $output . str_repeat(' ', 6);
}
if(!empty($_POST['chart'])) {
$output .= $_POST["chart"];
}else{
$output = $output . str_repeat(' ', 6);
}
write_line($output);
function write_line($line) {
$file = 'coh.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new line to the file
$current .= $line . PHP_EOL;
// Write the contents back to the file
file_put_contents($file, $current);
}
干杯!
str_pad
是用空格填充,不是加空格。您正在用空格填充现有值,使其长度为 6 个字符,而不是向该值添加 6 个空格。因此,如果 $_SESSION["emp_id"]
的长度为 6 个字符或更多,则不会添加任何内容。
我正在尝试制作一个 Web 表单,将 Web 表单的输入内容逐行输出到平面文本文件。一些字段不是必需的,但输出文件必须输入空格未填写。这是我正在尝试的:
$output = $_SESSION["emp_id"];
if(!empty($_POST['trans_date'])) {
$output .= $_POST["trans_date"];
}else{
$output = str_pad($output, 6);
}
if(!empty($_POST['chart'])) {
$output .= $_POST["chart"];
}else{
$output = str_pad($output, 6);
}
write_line($output);
function write_line($line){
$file = 'coh.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new line to the file
$current .= $line . PHP_EOL;
// Write the contents back to the file
file_put_contents($file, $current);
}
但是,当我检查我的输出时,空格没有出现。关于这是怎么回事的任何想法?提前致谢!
str_pad() won't add that number of spaces, but rather makes the string that length by adding the appropriate number of spaces. Try str_repeat():
$output = $_SESSION["emp_id"];
if(!empty($_POST['trans_date'])) {
$output .= $_POST["trans_date"];
}else{
$output = $output . str_repeat(' ', 6);
}
if(!empty($_POST['chart'])) {
$output .= $_POST["chart"];
}else{
$output = $output . str_repeat(' ', 6);
}
write_line($output);
function write_line($line) {
$file = 'coh.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new line to the file
$current .= $line . PHP_EOL;
// Write the contents back to the file
file_put_contents($file, $current);
}
干杯!
str_pad
是用空格填充,不是加空格。您正在用空格填充现有值,使其长度为 6 个字符,而不是向该值添加 6 个空格。因此,如果 $_SESSION["emp_id"]
的长度为 6 个字符或更多,则不会添加任何内容。