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

Topics

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
at www.maxprog.com







Recent questions from our users
  451 Error code NEW Screenshot
  Problem sending email to Gmail recipients NEW Screenshot
  What is the meaning of the recipient panel icons UPDATED Screenshot
  How to create new projects in iCash Screenshot
  How to add transactions to iCash faster YouTube Video
  What is the best mail server I can use with MaxBulk Mailer Screenshot
  How can I export my lists to a new computer Screenshot
  How to send a HTML email Screenshot
  How to hide text in my message Screenshot
  How to transfer FTP accounts between computers Screenshot
  Google ending support for less secure apps YouTube Video
  How to add social networks icons to my message Screenshot
  How do I set up an unsubscribe link Screenshot
  How to export several lists into to a single file Screenshot
  Why do I get timeouts when testing given addresses Screenshot

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


🔐 Secured by Sectigo SSL | UptimeRobot - Site Loaded properly