0

PHPスクリプトに奇妙な動作があります。なんらかの理由で、特定の行の後にエコーを作成できません。

include 'class/core.class.php';
include 'class/tp.class.php';

$tps = new tps;
$system = $_GET['system'];

$file = @fopen(getcwd() . "/csv/" . $system . ".csv", "r");
if(!$file) {
    echo "No data in " . getcwd() . "/csv";
    exit;
}

$tps->dropSystemData($system);

$counter = 0;

$data = array();

while($csv = fgetcsv($file, 0, ";")) {
    $data[$counter]['date'] = $csv[0];
    $data[$counter]['time'] = $csv[1];
    $data[$counter]['tp'] = $csv[2];

    $counter++;
}

foreach($data as $row) {
    $date = explode(".", $row['date']);
    echo 1; // Works
    $date = $date[2] . "/" . $date[1] . "/" . $date[0];
    echo 2; // Works
    $time = $row['time'];
    echo 3; // Works
    $tp = $row['tp'];
    echo 4; // Doesn't work
    echo $tp; // Doesn't work
    var_dump($tp); // Doesn't work
    var_dump($data); // This doesn't output anything like the echos and var_dumps before
}

特別な理由はわかりません。なぜこれが機能しないのか。エラーはまったくありません。

のVar_dump$data

array(445) {
  [0]=>
  array(3) {
    ["date"]=>
    string(10) "03.01.2012"
    ["time"]=>
    string(8) "12:30:06"
    ["tp"]=>
    string(10) "EN1K945540"
  }
  [1]=>
  array(3) {
    ["date"]=>
    string(10) "04.01.2012"
    ["time"]=>
    string(8) "12:30:07"
    ["tp"]=>
    string(10) "EN1K945588"
  }
  [2]=>
  array(3) {
    ["date"]=>
    string(10) "04.01.2012"
    ["time"]=>
    string(8) "12:30:09"
    ["tp"]=>
    string(10) "EN1K945592"
  }
  [3]=>
  array(3) {
    ["date"]=>
    string(10) "04.01.2012"
    ["time"]=>
    string(8) "12:30:09"
    ["tp"]=>
    string(10) "EN1K945594"
  }

最初に以下を追加しましたが、エラーや警告はありません。

error_reporting(E_ALL);
ini_set('display_errors', '1');

更新:変数名を変更しましたが、それでも機能しません。

更新2:私の悪い、いくつかのキャッシュの問題、ブラウザを閉じて開いたところ、動作しています。変数名が重複しているため、問題が発生しました。

4

2 に答える 2

3

あなたはクラスのインスタンスを実行$tp = new tp;し、評価します$tptp

代わりに、サイクルにaを割り当てると、Stringすべてが台無しになります

于 2012-06-08T06:53:45.907 に答える
1

あなたはブラウザを使用していますか?あなたの$row['tp']; 無効なHTMLコードまたは角括弧が含まれていますか?これらはHTMLタグとして解釈される可能性があるため、コードが表示されない場合があります。HTML/ソースをチェックインします...

于 2012-06-08T06:55:59.480 に答える