|
Posted by WildernessCat on 10/15/07 13:43
On Oct 15, 3:17 pm, Captain Paralytic <paul_laut...@yahoo.com> wrote:
> On 15 Oct, 14:09, WildernessCat <wilderness...@gmail.com> wrote:
>
>
>
> > Hello there!
>
> > Suppose I have an associative array that looks like this:
> > $arr['alpha_1'] = 'some value';
> > $arr['alpha_3'] = 'some value';
> > $arr['alpha_4'] = 'some value';
> > $arr['beta_2'] = 'some value';
> > $arr['beta_4'] = 'some value';
> > $arr['beta_6'] = 'some value';
> > $arr['gamma_1'] = 'some value';
> > $arr['gamma_5'] = 'some value';
> > $arr['gamma_6'] = 'some value';
> > $arr['gamma_7'] = 'some value';
>
> > Let's assume that the array is reasonably large (hundreds of entries).
>
> > Is there an efficient way of getting all the items whose key starts
> > with 'beta'? (without doing a foreach/strncmp loop?)
>
> > Thanks in advance,
> > Danny
>
> Something like:
>
> preg_grep('/^beta/',array_keys($arr));
>
> should give you all the keys that start with 'beta'
Yes, it sure looks more compact in the code, but the question is
whether it's more efficient? I have a gut feeling that there is no
efficient way.
By the way I forgot to mention that the array is not sorted.
Navigation:
[Reply to this message]
|