News Feed
Jobs Feed

News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way
Sorting array data using SplMaxHeap
July 18, 2012 @ 08:17:25

On today there's a new tutorial posted showing you how to sort using the SplMaxHeap functionality provided by the Standard PHP Library.

The SplMaxHeap class basically stores numbers in any order, and then returns them in descending order. In order to make this class useful for other data types other than numbers I have extend the SplMaxHeap class to compare dates and strings. SplMaxHeap extends SplHeap and implements the abstract class SplHeap::compare. Our extention of SplMaxHeap is therefore expected to implement the compare method.

Code examples are given showing sorting by things like "last name" and "date of birth" (using strtotime). There's also an example of its use in sorting values from an array and outputted in a loop. You can find out more about this functionality in the PHP manual.

0 comments voice your opinion now!
sort data splmaxheap compare function tutorial
MongoDB Revisited
January 17, 2012 @ 12:44:07

In this new post to today Ahmed Shreef continues on from his previous introduction to MongoDB and gets into more detail on things like cursors, query operators, queries on embedded documents and the sort/skip methods.

In my previous article Introduction to MongoDB I discussed installing Mongo, its PHP extension, and how to perform simple insert and find operations. Of course there are many, many more features than what I mentioned so I wanted to write another article to show you some of them.

Other topics mentioned include queries on arrays of data and running queries with indexes to improve their performance. Code is also included for each example.

0 comments voice your opinion now!
mongodb tutorial cursor query index sort skip
PHP Arrays Advanced Iteration and Manipulation
December 09, 2011 @ 12:50:11

In this new tutorial from, Jason Gilmore shows you some of the more advanced things you can do with arrays in PHP (specifically in the areas of iterating through them and manipulating their contents).

Sporting more than 70 native array-related functions, PHP's array manipulation capabilities have long been one of the language's most attractive features. [...] There are however many array-related tasks which ask a bit more of the developer than merely knowing what part of the manual one needs to consult. Many such tasks require a somewhat more in-depth understanding of the native features, or are possible only when a bit of imagination is applied to the problem.

In his examples he shows how to do things like sorting a multi-dimensional array, iterating recursively (with the help of a RecursiveArrayIterator), converting an object to an array and doing "natural" sorting on an array's contents.

0 comments voice your opinion now!
array manipulation advanced iteration spl recursive sort

Chris Shiflett's Blog:
Sorting Multi-Dimensional Arrays in PHP
July 01, 2011 @ 09:48:26

In a sort of "remind himself later" kind of post, Chris Shiflett has shared a quick example of a common task PHP developers face sorting a multi-dimensional array.

Every time I need to sort a multi-dimensional array in PHP, I have to remind myself how to do it. It's not quite as quick and easy to look up as most things, so I'm going to blog a quick example. I've always felt like there must be a better way to do this, so please let me know if there is, and I'll update this post accordingly.

His method sorts a multi-dimensional array of user data using the array_multisort function together with a list of the usernames in each record. In the comments, people recommend using usort instead with a callback+closure combo that keeps things nice and clean.

0 comments voice your opinion now!
sort multidimensional array hint

Brian Swan's Blog:
Sorting Azure Table Entities by Timestamp with PHP
April 27, 2011 @ 10:48:17

Brian Swan has a quick new post to his blog for the PHP + Azure users out there on how to easily sort table entities by a timestamp through the Azure SDK for PHP. The timestamp is a property on the parent storage table class, so you don't need to create it in your entity, it's already there.

The problem boils down to sorting an array of objects by a timestamp property, so the information here is nothing that hasn't been done before. However, after spending some time looking for a way to use a filter in the Windows Azure SDK for PHP API, I didn't find one, so I'm hoping this post might save others some time. In the end, my solution simply uses the PHP array_multisort function.

Sample code is included - a basic class extending Microsoft_WindowsAzure_Storage_TableEntity, a fetch for the entity set of the contacts and using a custom "objSort" method that sorts based on the returned timestamp values from the object set.

0 comments voice your opinion now!
azure sort table timestamp arraymultisort tutorial

Chris Hartjes' Blog:
Sorting Relationship Results In Doctrine 1.2
February 05, 2010 @ 10:51:32

Doctrine allows you to set up relationships to link data in various tables together. Unfortunately, those aren't always in the order they need to be in. In a new post to his blog Chris Hartjes shows you how to sort these relationship results just by adding a simple line to your request.

I started digging around via search engine. Took me about an hour to find the solution. First, it took me half the time to dive deep enough to find out WHERE I can define the default sort order. Surprisingly, it was in an area that made total sense but I could not find before.

You can see an example of it in the "hasMany" call in his code snippet - the addition of the "orderBy" option and the value showing the sorting order. Here's the StackOverflow page that gave him the answer he needed.

0 comments voice your opinion now!
relationship doctrine sort tutorial orderby

Zend Developer Zone:
Paging and Sorting Data with Zend Framework, Doctrine and PEAR (part 2)
January 04, 2010 @ 11:52:33

The Zend Developer Zone has posted the second part of their look at pagination with the combination of the Zend Framework, Doctrine and PEAR and how the Zend_Paginator component compares to the PEAR and Doctrine alternatives.

In the previous segment of this article, I introduced you to the Zend_Paginator class, which provides a flexible API for paginating any data collection, whether it is expressed as an array or a database result set. [...] This article will explore two such alternatives, the PEAR Pager class and the Doctrine Pager class, and give you a crash course in how you can use them to quickly add paging and sorting features to your PHP application.

The article gives examples for both of the other methods - a simple pagination of database information with the PEAR pager component (and other packages that can make the results more effective) and the creation of a Doctrine instance where the results are handled via a series of built-in method calls.

1 comment voice your opinion now!
tutorial zendframework pear doctrine pagination sort
PHP Custom List Order
December 04, 2008 @ 16:00:07

The PHPFreaks site has a new tutorial posted today showing how to create a method for custom list ordering in PHP.

So you have some tabular data printed out in your browser. You can even change the order of the information by clicking on the column name at the top of your list. But can you make your own custom list order? Or maybe you're deciding to make a content management system (CMS). You're making your features modular, so it's easier to add/remove modules. How do you go about displaying them in a custom order in the browser?

They create some MySQL tables to store the data in and set off into the code. The sorting allows for the data to be ordered by any column in either ascending or descending order based on the users' clicks. The results are output in a standard HTML table.

0 comments voice your opinion now!
tutorial custom list sort ascending descending

Lee Blue's Blog:
How To Sort A Zend_Db_Table_Rowset
February 14, 2008 @ 17:11:00

Lee Blue has posted a handy tip for users of the Zend Framework, specifically when sorting the results from a query to tables linked in a Zend_Db_Table setup.

So you figured out how to define the relationships between your Zend_Db_Tables and you have issued a call to findDependentRowset(). You get your Rowset back but you need to sort the results by one of the columns in the dependent table. How do you do that?

Unfortunately, he's found out that you just simply can't - well, not without a custom function (until the 1.5 release of the framework rolls around). He shows his table set up and some sample database classes to relate to the tables (and link between them). The magic comes in with his DU_Utils class that takes in the data and sorts it based on the given column name in the given direction.

0 comments voice your opinion now!
zendframework zenddb table relationship sort order column

Sorting 2D-arrays in PHP - anectodes and reflections
January 07, 2008 @ 08:41:00

On the ProDevTips website today, there's a new article looking at the sorting of arrays, specifically of the two- and three-dimensional sort.

One of the many problems with PHP that detractors are eager to point out is the fact that the language has thousands of global functions. Without the awesome CHM version of the PHP manual - finding your way in this jungle would be a mess. Simply finding a function like array_multisort is not trivial. And even if you find it, understanding it completely is not trivial either!

Not quite finding what he needed in the array_multisort function built into PHP, the author opts to create his own custom sorting function that make sorting 2D arrays simpler.

0 comments voice your opinion now!
sort 2d 3d array dimensional arraymultisort usort tutorial sort 2d 3d array dimensional arraymultisort usort tutorial

Community Events

Don't see your event here?
Let us know!

release unittest symfony2 code composer overview component example security framework introduction application facebook podcast hack package language hhvm install opinion

All content copyright, 2014 :: - Powered by the Solar PHP Framework