Search code examples
phpexplodeimplode

explode() confusing me


<?php
$player = $_GET['player'];
$data = explode(" ", file_get_contents("http://hiscore.runescape.com/index_lite.ws?player={$player}"));
print_r($data);
?>

For some reason, this returns

Array ( [0] => 322788,1584,39425065 474211,75,1213741 424332,73,1044331 497032,75,1223804 518140,74,1127869 622836,53,146813 484601,51,114656 540925,65,452516 276405,78,1772587 614588,62,339049 85477,99,13069655 135438,86,3702239 69906,99,13034532 376565,60,294135 403376,55,173156 413268,62,349011 339269,50,103575 388661,52,125891 452907,52,134281 402625,50,102104 281390,50,109948 236592,63,377586 385212,50,103894 329955,50,104225 320731,50,103833 286842,50,101634 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 )

The original data retrieved by file_get_contents is

322790,1584,39425065 474214,75,1213741 424335,73,1044331 497037,75,1223804 518145,74,1127869 622844,53,146813 484604,51,114656 540930,65,452516 276407,78,1772587 614595,62,339049 85477,99,13069655 135439,86,3702239 69906,99,13034532 376567,60,294135 403379,55,173156 413272,62,349011 339272,50,103575 388664,52,125891 452909,52,134281 402629,50,102104 281392,50,109948 236593,63,377586 385216,50,103894 329957,50,104225 320733,50,103833 286843,50,101634 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1 -1,-1

I see no reason why this would not work. Testing it, explode(" ", "The cat is happy") works perfectly.

Any ideas?


Solution

  • The original data is sepearated by line breaks (Look at the source code of that page and you'll see something similar to:

    369410,1491,41557372
    670285,60,285887
    777347,41,44705
    399433,80,2132002
    263342,89,4893081
    86022,99,13097638
    472647,52,123827
    278652,84,3165705
    454958,66,517025
    706040,53,137563
    445967,61,328458
    382124,68,642361
    362084,66,534339
    321096,62,342446
    412791,54,164607
    475061,60,279628
    331177,50,107107
    332564,56,199183
    21509,99,13217389
    371340,53,148963
    314233,46,68904
    463762,44,55836
    128963,73,1034979
    569897,20,4784
    500492,19,4088
    412997,36,26867
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    -1,-1
    

    Try exploding by that.

    explode("\n", ...);