Home Products Downloads News Store Support

Stan's Blog

Xojo NthField() and CountFields() functions in PHP

How to use Maxprog products Maxprog's Blog

Compatible with MS Windows Compatible with MacOS

Xojo NthField() and CountFields() functions in PHP


In Xojo there is a handy function I use quite a lot for getting substrings between given delimiters from a piece of text, it is:

NthField(text, delimiter, fieldnumber)

Imagine you have the following text "1/2/3/4", NthField( "1/2/3/4", "/", 3 ) will return 3, that is the third substring between the "/" delimiters. It is that simple! This function works great in Xojo as long as the text is not too big. A few years ago I was porting a Xojo function to PHP that used NthField() so I decided to port the whole function. This is the PHP equivalent:

function nthfield($text, $delimiter, $fieldnumber) {
  $data = explode($delimiter, $text . $delimiter );
  return $data[$fieldnumber-1];

It is that simple, now you have the exact same NthField() in PHP. That function is fully accurate, I have been using it everywhere in my site for years.

Next I needed the related function to count the number of fields for a given delimiter:

CountFields(text, delimiter)

For the sample text we used above, "1/2/3/4", CountFields( "1/2/3/4", "/" ) would return 4, that is, the number of fields enclosed by the "/" delimiter. This is the PHP equivalent:

function countfields($text, $delimiter) {
  return count(explode($delimiter, $text));

As you can see the both functions use simple PHP array functions and since NthField() is slow in Xojo when the text is big, it would be simple to rewrite it :-)

Stan Busk - Software Engineer

Recent questions from our users
  How to transfer FTP accounts between computers NEW Screenshot
  Google ending support for less secure apps UPDATED YouTube Video
  How to add social networks icons to my message UPDATED Screenshot
  How do I set up an unsubscribe link UPDATED Screenshot
  How to export several lists into to a single file UPDATED Screenshot
  Why do I get timeouts when testing given addresses Screenshot
  What are the Zoho mail settings for MaxBulk Mailer? Screenshot
  iCash has become slow over time Screenshot
  Emails sent but not received Screenshot
  HTML Email is received empty Screenshot
  How to use an alternative text when a tag value is empty Screenshot
  Email Bounce Handler no longer works with Gmail Screenshot
  Is Maxprog software ready for the Apple ARM processor? Screenshot
  Is Maxprog software prepared for Windows 11? Screenshot
  Is Maxprog software prepared for macOS 12 Monterey? Screenshot

▾ Last videos, Online events and Q&A Sessions ▾

▾ Last customer reviews ▾

Did you like this post?

🔐 Secured by Comodo SSL | UptimeRobot - Site Loaded properly