Re: multi-dimensional arrays

From: Date: Wed, 15 Apr 2009 03:57:54 +0000
Subject: Re: multi-dimensional arrays
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-291516@lists.php.net to get a copy of this message
Andres Gonzalez wrote:
Hi, I am learning PHP and have a simple question. I have a input string in this form: xxx xxxx xx xxxxx xx xxx xx xxxxx x xxx xx xxxxxx
    .
    .
    .
xx xxx xx xxxx xx xx each line has 6 words of various lengths, all separated by white space. the input string can have any number of lines I want to put this into a multi-dimensional array, each line an array that is an element of an outer array. I have tried various ways to do this--I have used explode() and array_filter() and can get a single line parsed and into an array but I am having problems getting a well formed 2 dim array. What is the easiest way to do this? With all of the PHP array functions, there should be an very straight forward way to do this. Any help would be appreciated. -Andres
I am no guru of regex or preg_* functions. But here is what I came up with. <plaintext><?php //another way $text = 'xxx xxxx xx xxxxx xx xxx xx xxxxx x xxx xx xxxxxx xx xxx xx xxxx xx xx'; print_r($text); echo "\n"; $matches = array(); preg_match_all("/^([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)$/Um", $text, $matches, PREG_SET_ORDER); print_r($matches); ?> The above outputs the following: <plaintext>xxx xxxx xx xxxxx xx xxx xx xxxxx x xxx xx xxxxxx xx xxx xx xxxx xx xx Array (
    [0] => Array
        (
            [0] => xxx  xxxx  xx  xxxxx  xx   xxx
            [1] => xxx
            [2] => xxxx
            [3] => xx
            [4] => xxxxx
            [5] => xx
            [6] => xxx
        )
    [1] => Array
        (
            [0] => xx  xxxxx   x  xxx  xx  xxxxxx
            [1] => xx
            [2] => xxxxx
            [3] => x
            [4] => xxx
            [5] => xx
            [6] => xxxxxx
        )
    [2] => Array
        (
            [0] => xx  xxx  xx  xxxx  xx   xx
            [1] => xx
            [2] => xxx
            [3] => xx
            [4] => xxxx
            [5] => xx
            [6] => xx
        )
) Hope this is what you are looking for. Jim Lucas

« previous php.general (#291516) next »