Mon, 13/10/2008 - 22:39 — horuskol
I found myself trying to locate a PHP function in their library last week that didn’t seem to exist. I had a number of strings in an array, and needed to simply find out if one of them was in a string – and I needed to do it at various points. However, I could only find functions that let me search for a single needle in an array of haystacks.
So I made one myself:
Mon, 13/10/2008 - 22:39 — horuskol
Source code: Function astrpos()
<?php /** * function astrpos() * * Function to find the position of the first instance of any needle * from an array of strings within a string * * * @author Stuart Jones <stuart@random-tweak.co.uk> * @copyright Copyright 2008 Stuart Jones * @version 08.10.13 * @license <a href="http://www.gnu.org/licenses/gpl.html<br /> " title="http://www.gnu.org/licenses/gpl.html<br /> ">http://www.gnu.org/licenses/gpl.html<br /> </a> * * @param string $haystack * @param array<string> $needles * @param [int $offset] * @param [int $flags] */ // define constants for function flags
Mon, 13/10/2008 - 22:39 — horuskol
Description
Returns the numeric position of either the first needle found in the haystack, or the first instance of a needle in the haystack.
Parameters
The string to search in
An array of strings to search in the haystack for
Mon, 13/10/2008 - 22:39 — horuskol
<?php include_once('astrpos.php'); // or however you want to include it $needles = array( 'apple', 'banana', 'pear', 'orange' ); $haystack = 'The fruiterer has some bananas and apples today. Unfortunately, there are no oranges, but the pears will be in tomorrow.'; // this will return the position of 'banana' - the first needle in the haystack echo astrpos($haystack, $needles) . '<br>'; // this will return the position of 'apple' - the first needle in the array of needles echo astrpos($haystack, $needles, 0, ASTR_NEEDLE_ORDER) . '<br>';