加入函数在PHP中不起作用

时间:2014-12-22 06:53:40

标签: php arrays

代码:

$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得到所需的输出(即输出在一行中)。我以前的代码中有什么错误。这两个代码不一样吗?

提前致谢。

3 个答案:

答案 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.";
相关问题