1 weeknummer van 1e vrijdag van de maand

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hoi

Ik heb volgende

PHP:
<?php $week1e = date('W'); $weeknummers1e = array(1,5,9,14,18,23,27,31,36,40,44,49); ?>

 <?php if  (in_array($week1e, $weeknummers1e)) {
                     	include "text.php";  

  }
?>

In de array zit het weeknummer waar de 1e vrijdag van de maand inzit
Kan het ook op een andere manier zodat ik de weeknummers niet hoef in te vullen, maar dat deze door script worden opgehaald( weeknummer van 1e vrijdag in een maand)

dus als we in een week zitten waar de 1e vrijdag van de maand in voorkomt : include text.php
dit geld dan voor de hele week (includen)
 
Laatst bewerkt:
Even snel iets gemaakt, is alleen voor een jaar.

PHP:
$jaar = date("Y", time());
$weekNummers= array();

for($maanden = 1; $maanden <= 12; $maanden++){
  for($dagen=1; $dagen <= 7; $dagen++) {
    $time = mktime(0, 0, 0, $maanden, $dagen, $jaar);
    if(date("w", $time) == 5){
      $weekNummers[] = date("W", $time);
      break;
    }
  }
}

print_r($weekNummers);
 
Bedankt Maikel123

Ik krijg nou de weeknummers van heel jaar waar een 1e vrijdag van de maand inzit > 1 5 9 14 enz

Hoe pas ik dit nu toe

als het week 1 5 9 14 enz is > echo test
 
Met wat jij al had, dus dan krijg je dit.

PHP:
$jaar = date("Y", time());
$weekNummers= array();
 
for($maanden = 1; $maanden <= 12; $maanden++){
  for($dagen=1; $dagen <= 7; $dagen++) {
    $time = mktime(0, 0, 0, $maanden, $dagen, $jaar);
    if(date("w", $time) == 5){
      $weekNummers[] = date("W", $time);
      break;
    }
  }
}

$weekNR = date('W');
if  (in_array($weekNR, $weekNummers)) {
    include "text.php";  
}
 
Super !

kan het ook nog met de laatste vrijdag in een maand ? (nu hadden we de 1e) voor de rest blijf alles hetzelfde.
 
Je draait nu de loop om en begint einde van de maand dus krijg je dit:

PHP:
for($maanden = 1; $maanden <= 12; $maanden++){
  $time = mktime(0, 0, 0, $maanden, 1, $jaar);
  for($dagen=date("t", $time); $dagen >= date("t", $time)-7; $dagen--) {
    $time = mktime(0, 0, 0, $maanden, $dagen, $jaar);
    if(date("w", $time) == 5){
      $weekNummers[] = date("W", $time);
      break;
    }
  }
}
 
Ok ,,welke $ kan ik het beste van naam veranderen zodat ik verschil krijg in aanroepen $ (alles staat op een pagina)

$weekNR ?

bij 2e optie veranderen naar bv $weekNR2
 
$weekNR heb je maar een keer nodig dat is de huidige week nummer, wat je kan doen is een array $beginWeekNummers en de andere $eindWeekNummers noemen.
 
dus $weekNummers= array(); hernoemen naar bv $beginWeekNummers = array();
 
Laatst bewerkt:
Je zou het kunnen combineren en dan krijg je dit

PHP:
$jaar = 2012;
$weekNummers= array();

for($maanden = 1; $maanden <= 12; $maanden++){
  //Week nummers begin van de maand
  for($dagen=1; $dagen <= 7; $dagen++) {
    $time = mktime(0, 0, 0, $maanden, $dagen, $jaar);
    if(date("w", $time) == 5){
      $weekNummers[] = date("W", $time);
      break;
    }
  }
  //week nummers einde van de maand
  $time = mktime(0, 0, 0, $maanden, 1, $jaar);
  for($dagen=date("t", $time); $dagen >= date("t", $time)-7; $dagen--) {
    $time = mktime(0, 0, 0, $maanden, $dagen, $jaar);
    if(date("w", $time) == 5){
      $weekNummers[] = date("W", $time);
      break;
    }
  }
}

$weekNR = date('W');
if  (in_array($weekNR, $weekNummers)) {
    include "text.php";  
}
 
Bedank ,,die kan altijd nog van pas komen, nu echter apart, het in te voegen content is niet hetzelfde.

Wat ik me af vroeg of ik dit gewoon kon doen , de conditie ergens in een ander statement (voorbeeld) maar schijnt geen probleem te zijn.

if (condition)
{
code to be executed if condition is true;
}
elseif (in_array($weekNR, $weekNummers)) {
include "text.php";
}
else
{
code to be executed if condition is false;
}

Overigens is er een verschil in elseif else if ? kom ik wel tegen hier en daar?

@Even snel iets gemaakt, is alleen voor een jaar. ...wat bedoel je met een jaar ?
 
Laatst bewerkt:
Ja dat kan gewoon, er zit na mij weten geen verschil in elseif en else if behalve dat het anders geschreven wordt.

Met is alleen voor een jaar bedoelde ik mee dat het een array terug geeft met de weeknummers voor een jaar.
 
Er zit wel een klein verschil tussen "elseif" en "else if", maar het resultaat van beide is hetzelfde. Het verschil is dat bij "else if" je een else hebt met daarin een if. Als je accolades zou gebruiken zou dat er zo uitzien:
PHP:
else
{
  if (....)
  {
  }
}
Bij "elseif" is dit niet het geval.
 
Bedank voor jullie reacties.

heb ik nog een vraag graag;

Ik wil dat de week op maandag begint , is dat nu al het geval ? (code post 4 en 6)

Indien niet :: kan ik dit aanpassen ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan