lfernando Posted December 3, 2011 Share Posted December 3, 2011 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!!! Quote Link to comment https://forums.phpfreaks.com/topic/252391-fast-select-from-multidimensional-array/ Share on other sites More sharing options...
xyph Posted December 3, 2011 Share Posted December 3, 2011 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. Quote Link to comment https://forums.phpfreaks.com/topic/252391-fast-select-from-multidimensional-array/#findComment-1293972 Share on other sites More sharing options...
lfernando Posted December 3, 2011 Author Share Posted December 3, 2011 Hi. Thank you for your reply. The thing is that sometimes i need to pull them by owner, sometimes by task, or other rows. Any other suggestions? Quote Link to comment https://forums.phpfreaks.com/topic/252391-fast-select-from-multidimensional-array/#findComment-1293992 Share on other sites More sharing options...
lfernando Posted December 3, 2011 Author Share Posted December 3, 2011 Also, sometimes I may have to select by two rows (ie, select all elements where "owner=nancy" AND "task=misc") Quote Link to comment https://forums.phpfreaks.com/topic/252391-fast-select-from-multidimensional-array/#findComment-1293993 Share on other sites More sharing options...
xyph Posted December 3, 2011 Share Posted December 3, 2011 Use a relational database in this case. SQLite is light, fast, and doesn't require it's own server to run. Everything's stored in flat files, and unless it's disabled every PHP5 build should have it available. Quote Link to comment https://forums.phpfreaks.com/topic/252391-fast-select-from-multidimensional-array/#findComment-1294011 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.