2014-12-22 39 views
-2

代碼:加入功能在PHP不工作

$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 

如果我直接解析陣列值放入變量我得到所需的輸出(ieoutput在單行)。什麼是錯在我以前的code.Are兩代碼不一樣?

在此先感謝。

回答

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]); 
+0

謝謝你的解釋和答案。它工作正常。 – vidhya

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 
?> 
0

爲什麼你使用數組這個。爲什麼不乾脆用

$file=file(example); 
echo trim($file[0]) . "interactions. Sage Publications."; 
+0

正在使用'file_put_contents'函數將輸出寫入文件。當我在瀏覽器中迴應它時,我正在獲得渴望輸出。但是在一個文件中,輸出是兩行。 – vidhya