代码:
$file=file(example);
$arr[]=$file[0];
$arr[] .="interactions. Sage Publications.";
echo count($arr); //outputs 2
echo $arr[0]; //outputs Multiple Regression: Testing and Interpreting
echo $arr[1]; //outputs interactions. Sage Publications
$str=join(" ",$arr);
//outputs
Multiple Regression: Testing and Interpreting
interactions. Sage Publications
问题:虽然我使用了join函数,但两个数组在输出中没有连接。我得到两行输出。我想把它放在一行。
替代代码:
$arrp =array("Multiple Regression: Testing and Interpreting","interactions. Sage Publications.");
$str= join(" ",$arrp);
echo $str; //outputs Multiple Regression: Testing and Interpreting interactions. Sage Publications
如果我直接将数组值解析为变量am得到所需的输出(即输出在一行中)。我以前的代码中有什么错误。这两个代码不一样吗?
提前致谢。
答案 0 :(得分:1)
原因是你的file(..)
返回一个包含结束换行符的行数组。您的文件实际上如下:
lines[0] = "first line\n";
lines[1] = "second line";
..所以当你join(..)
时,字符串有两行。
解决方案#1:
$trimmedLines = file('yourFile', FILE_IGNORE_NEW_LINES);
解决方案#2:
$TrimmedLine = rtrim($arr[1]);
答案 1 :(得分:0)
使用array_merge - 合并一个或多个数组
<?php
$first_array = array('1', '2');
$second_array = array('3', '4');
$final_data = array_merge($first_array, $second_array);
var_dump($final_data);
// output will be
// 1, 2, 3, 4
?>
答案 2 :(得分:0)
为什么你要使用这个数组。为什么不使用
$file=file(example);
echo trim($file[0]) . "interactions. Sage Publications.";