Extracting data from exec() call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




I'm trying to extract data coming from an exec() call. The exec() call is performing an ncdump on a netCDF file:

<?php
      $filename = "mlab.20110101.cdf";
      exec("/usr/bin/ncdump -l 2048 -v wmax ".$filename, $output);
      echo "---\n";
      print_r($output);
      echo "---\n";
    ?>

This is all fine, however the data comes in with extra information I don't need, and the data I do need is in a long string format:

    Array
    (
        [0] => netcdf mlab.20110101 {
        [1] => dimensions:
        [2] =>      time = UNLIMITED ; // (288 currently)
        [3] => variables:
        [4] =>      int base_time ;
        [5] =>      int samp_secs ;
        [6] =>      float lat ;
        [7] =>      float lon ;
        [8] =>      float alt ;
        [9] =>      int station ;
        [10] =>     float time_offset(time) ;
        [11] =>     float tdry(time) ;
        [12] =>     float rh(time) ;
        [13] =>     float pres(time) ;
        [14] =>     float cpres0(time) ;
        [15] =>     float dp(time) ;
        [16] =>     float wdir(time) ;
        [17] =>     float wspd(time) ;
        [18] =>     float wmax(time) ;
        [19] =>     float wsdev(time) ;
        [20] =>     float wchill(time) ;
        [21] =>     float raina(time) ;
        [22] =>     float raina24(time) ;
        [23] =>     float bat(time) ;
        [24] => data:
        [25] =>
[26] => wmax = 5, 5, 5, 5.4, 5.7, 5.1, 7.1, 6.1, 4.4, 9.5, 13.5, 14.4, 11.1, 9.6, 10.5, 10.6, 11.1, 10, 15.3, 17.2, 16.9, 16, 13.9, 16.7, 15.3, 18.3, 17.2, 16.3, 15.9, 18.9, 17.7, 19.7, 19.7, 16.6, 16.4, 16, 14.6, 14.9, 14, 16.7, 18.3, 16.2, 18.4, 15.4, 15.3, 13.3, 14.8, 15.6, 15.1, 14.7, 13.8, 14.2, 18, 16.7, 16.6, 15.6, 15.8, 17.6, 17.4, 20.3, 17.4, 21.3, 18.7, 16.7, 15.4, 17.5, 17.3, 17.7, 20.4, 17.5, 16.8, 18.1, 15.9, 17.8, 17.3, 13.9, 16.2, 17.4, 19.8, 17.5, 19, 20, 20.3, 20.4, 20.8, 21.6, 26.4, 23.1, 21.3, 19.9, 20.1, 21.1, 22.1, 22.5, 21.2, 20.2, 22.2, 21.6, 19.6, 21.1, 21.7, 21, 20.8, 23.7, 26.6, 21.2, 23.8, 23.3, 23.5, 23.9, 21.4, 22.1, 23.5, 22.8, 23, 21.8, 22.2, 25.6, 21.9, 22.8, 26.2, 24.2, 23.6, 25.5, 26.8, 25.6, 27.4, 24.5, 23.5, 22.1, 23.1, 25.5, 22.5, 22.5, 23.8, 21.8, 22.6, 23.5, 24, 23, 22.3, 21.6, 23.6, 20.5, 21, 19.4, 23.6, 19.2, 18, 19.2, 20.5, 19.3, 19.1, 20.4, 18, 17.8, 18.4, 19.4, 21, 18.3, 20.4, 21.2, 22.1, 20.1, 17.3, 17.2, 17.6, 17.2, 19.9, 21, 20.6, 21.5, 23.8, 25, 24, 23.9, 23.5, 27.7, 21.1, 20.8, 20.1, 18.6, 21, 18.7, 19.9, 16.4, 16.3, 17.3, 11.8, 11.4, 15.2, 12.4, 14.2, 16.3, 21.6, 25, 19, 7.7, 9.7, 15.7, 7, 11.1, 10.3, 11.2, 14.8, 11.7, 5.5, 5.5, 5.5, 6.9, 7.6, 6.5, 6.4, 6.7, 6.7, 4.9, 5.1, 4.7, 5.7, 5.5, 9.2, 6.2, 7.1, 7.7, 6.5, 5.5, 6, 6.4, 7, 6.2, 6.7, 4.7, 3.8, 9.2, 8.1, 7.6, 6.8, 6.3, 7.1, 10.5, 8, 9.9, 10.2, 12, 9.4, 14, 18, 11.9, 17.7, 20.9, 18.8, 17.4, 13.5, 13.8, 12.6, 5.5, 6.1, 6.6, 6.3, 6.3, 5.1, 7.7, 5.8, 5.4, 4.9, 4.5, 4.9, 4.7, 5, 4.8, 4.5, 5.6, 5.9, 4.6, 5.7, 7.2, 6.1, 6.4, 5.4, 6.1, 5.6, 5.9, 6.4, 9.5, 11.2, 15.8, 15, 13.6 ;
        [27] => }
    )

ncdump doesn't provide an option to suppress the header information, and as you can hopefully tell, the data I'm looking for is in one long string at key position 26.

How can I extract what I need from that (wmax) and have it as an array: wmax = array(5, 5, ...)

This is only one variable. I will be pulling more variables out, and they all come out the same way as above, as strings. The headers might change, so I can't simply say ignore the first 0-25 keys and expect what I need to be at position 26. I need a reliable way of detecting where the data section starts. And I need to convert the strings into arrays for each data set.

    Suggestions?

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux