note 47410 deleted from function.explode by bjori
| From: | bjori@php.net | Date: | Mon, 25 Sep 2006 08:12:05 +0000 |
| Subject: | note 47410 deleted from function.explode by bjori | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-117600@lists.php.net to get a copy of this message | ||
Note Submitter: fraknot[at]ulfix[dot]com
----
A function that returns the number of pages, id's, etc from a given range (this works when you
specify a "printing-style range" like "1-3,5,7-9,11")
<?php
function range_count($array)
{
$first_split=explode(",",$array);
$second_split=array();
for($i=0;$i<count($first_split);$i++)
$second_split[$i]=explode("-",$first_split[$i]);
$num=array();
$number=0;
for($i=0;$i<count($second_split);$i++)
{
if(count($second_split[$i])==2)
$num[$i]=abs($second_split[$i][1]-$second_split[$i][0])+1;
elseif(count($second_split[$i])==1)
$num[$i]=$num[$i]+1;
}
for($i=0;$i<count($num);$i++)
$number=$number+$num[$i];
return($number);
}
echo range_count("1-3,5,7-9,11"); //8
echo range_count("5000"); //1
echo range_count("2003,2004"); //2
?>