Re: multi-dimensional arrays

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

 



Shawn McKenzie wrote:
> Well in your approach you get a bunch of empty elements where the spaces
> are.  Here are two ways but I'm sure one preg_match_all() without the
> explodes and loop could do it (some guru will show us):
> 
> //one way
> $text = 'xxx  xxxx  xx  xxxxx  xx   xxx
> xx  xxxxx   x  xxx  xx  xxxxxx
> xx  xxx  xx  xxxx  xx   xx';
> 
> $lines = explode(PHP_EOL, $text);
> 
> foreach($lines as $line) {
> 	$temp = explode(' ', $line);
> 	$result[] = array_filter($temp, 'reduce');
> }
> function reduce($var) {
> 	return !empty($var);
> }
> print_r($result);
Array
(
    [0] => Array
        (
            [0] => xxx
            [2] => xxxx
            [4] => xx
            [6] => xxxxx
            [8] => xx
            [11] => xxx
        )

    [1] => Array
        (
            [0] => xx
            [2] => xxxxx
            [5] => x
            [7] => xxx
            [9] => xx
            [11] => xxxxxx
        )

    [2] => Array
        (
            [0] => xx
            [2] => xxx
            [4] => xx
            [6] => xxxx
            [8] => xx
            [11] => xx
        )

)
> 
> //another way
> $text = 'xxx  xxxx  xx  xxxxx  xx   xxx
> xx  xxxxx   x  xxx  xx  xxxxxx
> xx  xxx  xx  xxxx  xx   xx';
> 
> $lines = explode(PHP_EOL, $text);
> 
> foreach($lines as $line) {
> 	preg_match_all('|([^\s]+)+|', $line, $matches);
> 	$result[] = $matches[1];
> }
> print_r($result);
Array
(
    [0] => Array
        (
            [0] => xxx
            [1] => xxxx
            [2] => xx
            [3] => xxxxx
            [4] => xx
            [5] => xxx
        )

    [1] => Array
        (
            [0] => xx
            [1] => xxxxx
            [2] => x
            [3] => xxx
            [4] => xx
            [5] => xxxxxx
        )

    [2] => Array
        (
            [0] => xx
            [1] => xxx
            [2] => xx
            [3] => xxxx
            [4] => xx
            [5] => xx
        )

)

There is a difference in the key numbering though if that is important.

-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
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