Jump to content

"fast" select from multidimensional array?


lfernando

Recommended Posts

Hi there,

 

Does anyone know how to select from a mutlidimensional array, and put the results in a new array?

I figured it out but it takes a long time. My array is huge (over 1000+ items) and this search is performed about 50 times before loading the page.

 

My array is called $tasks  and it looks like this

$tasks=Array(
[0]=>array([id]=>"12"; [owner]=>"nancy"; [task]=>"clean the house"); 
[1]=>array([id]=>"23"; [owner]=>"toby"; [task]=>"do homework"); 
[2]=>array([id]=>"43"; [owner]=>"dan"; [task]=>"take out trash"); 
[3]=>array([id]=>"32"; [owner]=>"nancy"; [task]=>"cook dinner");
) 

I want to be able to select from $tasks where owner="nancy", so i end up with this

$nancy_tasks=array(
[0]=>array([id]=>"12"; [owner]=>"nancy"; [task]=>"clean the house"); 
[1]=>array([id]=>"32"; [owner]=>"nancy"; [task]=>"cook dinner")
)

Thank you!!!

Link to comment
Share on other sites

Is 'owner' a unique value? Structure your array like this

 

$tasks = array(
'nancy' => array(
	array( 'id'=>12,'task'=>'clean the house'),
	array( 'id'=>32,'task'=>'cook dinner')
),
'toby' => array(
	array( 'id'=>43,'task'=>'take out trash')
)
);

 

That way, the job is already done for you.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.