Re: multi-dimensional arrays
| From: | Nitsan Bin-Nun | Date: | Mon, 13 Apr 2009 20:25:00 +0000 |
| Subject: | Re: multi-dimensional arrays | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-291446@lists.php.net to get a copy of this message | ||
Just wondering, there is callback version of preg_match_all() ? if so you
could have done it in one line I think..
On Mon, Apr 13, 2009 at 9:52 PM, Andres Gonzalez <andres@packetstorm.com>wrote:
> I was having the same problem. The second way was what I was looking for.
>
> Thank you so much for your help--I did not know about preg_match_all().
>
> very cool....thanks again.
>
> -Andres
>
>
>
> Shawn McKenzie wrote:
>
>> 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.
>>
>>
>>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>