Reputation: 339
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
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
Upvotes: 3