Mustafa
Mustafa

Reputation: 339

How to print array data following current date

I have an array like the following:

$f= array("Sunday", "Monday","Tuesday","Wednesday", "Thursday","Friday", "Saturday");

I have run a foreach loop for $f and print date. Result is:

Array ( [0] => Sunday [1] => Monday [2] => Tuesday [3] => Wednesday [4] => Thursday [5] => Friday [6] => Saturday )

but I want if it is Wednesday today, then the output will be:

Array ( [0] => Wednesday [1] => Thursday [2] => Friday [3] => Saturday [4] => Sunday [5] => Monday [6] => Tuesday )

Here is my code:

$f= array("Sunday", "Monday","Tuesday","Wednesday", "Thursday","Friday", "Saturday");
foreach ($f as $value) {
    if($value == date('l')){
        $date[] = $value;
    }
}
print_r($date);

it return me the following result:

Array ( [0] => Thursday [1] => Thursday [2] => Thursday [3] => Thursday [4] => Thursday [5] => Thursday [6] => Thursday ) 

Upvotes: 1

Views: 51

Answers (1)

splash58
splash58

Reputation: 26153

You can do it by native php functions:

$i = array_search(date('l'), $f);
$date = array_merge(array_splice($f, $i), $f);

array_search finds today item in the array, array_splice removes tail of the array and returns it, array_merge combines that arrays in the proper order

demo on eval.in

Upvotes: 3

Related Questions