2011-02-14 74 views
0

這就是所謂的data.txt循環與文本兩列文件

john engineer 
mathew IT consultant 
elan Vice president 
emili administrator 
joicee nurse 

$lines = file('data.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

    foreach ($lines as $names => $designation) { 

    //I am not sure above one is right?? then what?? 
    } 

我想這兩個變量

$names = john; 
$designation = Engineer; 

和循環加載的示例文本文件通過...

+0

:看到我的代碼..它的工作!測試它 – 2011-02-14 13:30:09

+0

@Manish讓你的代碼站在自己的優點,不要垃圾評論試圖出售你的答案 – meagar 2011-02-14 18:34:43

+0

@meagar:酷男!它okk! – 2011-02-15 04:59:15

回答

0

如果「名稱」和「desi gnations」是獨立製表帶,你可以使用這樣的事情:

foreach ($lines as $line) { 
    list($name, $designation) = explode("\t", $line); 
    ... 
} 
2

$lines的線是不是一個‘名’=>‘指定’的默認地圖;你必須手動拆分線。

您可以使用explode這個。你必須添加2備選的「限制」參數,以確保行僅在第一空間分解:

$lines = file('data.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

foreach ($lines as $line) { 
    list($name, $designation) = explode(' ', $line, 2); 
} 

沒有限制,像"elan Vice president"線將作爲array("elan", "Vice", "president"),而不是被打破了array("elan", "Vice president")

1

如果您的格式總是使用空間$name之間的分隔符,一個$designation,這可能工作

foreach ($lines as $line_number => $line) 
{ 
    $space = strpos($s, ' '); 
    $name = substr($s, 0, $space); 
    $designation = substr($s, $space+1); 
} 
0

佩蒂下面的代碼。它的工作::

$lines = file('new.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 
foreach ($lines as $line) { 
list($name[], $job[]) = explode(' ', $line,2); 
} 
foreach($name as $n=>$value) 
echo "Name= ".$name[$n]." Job=".$job[$n]."<br>";