3

別のサイトをカールして結果を解析するスクリプトに取り組んでいます。私は奇妙な問題を抱えているようで、どこから来ているのか理解できません。コードの問題のある部分と、そこから返される出力を以下に示します。

<?php
    //my code to do some logic and build the curl

    $BookingConfirmation = curl_exec($ch);

    $testString = 'a test';
    var_dump($testString);
    echo '<br />';
    echo $BookingConfirmation;
    echo '<br />';
    var_dump($BookingConfirmation);
    echo '<br />';

    $bookingResults = explode('|', $BookingConfirmation);

    var_dump($bookingResults);
    die();
?>

次にページをロードすると、次の出力が得られます。

string(6) "a test"
booking|1||4000015|23628
string(2386) " booking|1||4000015|23628 "
array(6) { 
    [0]=> string(766) " string(1526) "108^1"> booking" 
    [2]=> string(1) "1" 
    [3]=>     string(0) "" 
    [4]=> string(7) "4000015" 
    [5]=> string(81) "23628 " 
} 

したがって、$BookingConfirmation が私に示していることによると、配列に "108^1" が含まれているとは思えません。また、$BookingConfirmation の var_dump が 2386 文字の文字列であることを示しているのはなぜですか? それほど長くはありません。もう 1 つの質問は、配列にあるはずの 2 番目の要素で何が起こっているかということです。($bookingResults[1]) その配列の最終的なダンプは、6 つの要素があることを示していますが、#1 がスキップされているため、5 つしか表示されていません。

また、これらの変数名はコード内の他の場所では使用されていないことに注意してください。

どんな考えでも大歓迎です。

4

3 に答える 3

6

view-source、text/plain content-type を使用するか、コマンド ラインから実行します。

<?php
    header("Content-Type: text/plain; charset=utf-8");
    //my code to do some logic and build the curl

    $BookingConfirmation = curl_exec($ch);

    $testString = 'a test';
    var_dump($testString);
    echo '<br />';
    echo $BookingConfirmation;
    echo '<br />';
    var_dump($BookingConfirmation);
    echo '<br />';

    $bookingResults = explode('|', $BookingConfirmation);

    var_dump($bookingResults);
    die();
?>

入力に ​​が含まれていると思わ<れます。これは、非表示の html タグとしてレンダリングされます。string(2386) " booking|1||4000015|23628 "つまり、 は、文字列に2386バイトがあることを意味します。

于 2012-12-20T17:54:02.683 に答える
1

関数の結果をvar_dump()文字どおりに表示するには、 HTML の pre 要素を使用します。

  echo '<pre>';
  var_dump( $bookingResults );  
  echo '</pre>';
于 2012-12-20T18:07:50.157 に答える
0

print_r()の代わりに事前タグで使用しますvar_dump()

echo '<pre>';
  print_r( $bookingResults );  
echo '</pre>';

それが役に立てば幸い

于 2015-03-05T10:21:05.710 に答える