2016-10-30 6 views
2
<?php 

require "connect.php"; 

$file = "./myFile2.txt"; 
$document = file_get_contents($file); 

$lines = explode("\n",$document); 

foreach($lines as $newline) { 

    $arr = explode('Order Number: ', $newline); 
    $important = $arr[1]; //getting an error here (undefined offset 1) 

    echo $important; 

    $art = explode('Total Price: ', $newline); 
    $first = $art[1]; //getting an error here (undefined offset 1) 

    echo $first; 

} 

?> 

myFile2.txt次のように読み取る:1 'の各エコーの後:エラー '不定1オフセット'

Order Number: 12345 
Total price: 60$ 

コード出力の両方 '12345' と'60 $未定義オフセット」は、まだ表示され' 。

どうすればこの問題を解決できますか?注文番号と合計金額を分けるリターンキーを考慮する必要がありますか?

+0

$important = $arr[1]; 

;'印刷を? – Akshay

+0

これはSQLとは関係がないようですので、タグを削除しました。 –

+0

string(6) "12345"と60 $ NULL – T888

答えて

1

Order Number: 12345は - のように爆発しているので、必要な値は配列のオフセットの0です。

あなたは、このように爆発した場合: -

explode(':', $string); //$string = Order Number:12345 

その後、あなたがエラーを取得しないでしょう。

ので交換してください: - `のvar_dump($重要)何

$important = $arr[0]; 
+0

問題は、エコーに「Total Price」と「Order Number」が省略されている必要があるということです。だから、私がエコーしているのは実際には '12345'と'60 $ ' – T888

+0

です。次に '$ array = explode(': '、$ string);を実行します。 // $ string = Order Number:12345'とecho '$ array [1]'となります。これは12345として出力を生成します。 – Akshay

+0

素晴らしい、それは働いた!なぜそれが結果を2回エコーしているのか、という考えはありますか? – T888

関連する問題