Functie maken.
Ik heb een herhaalend stukje code binnen een functie gehangen:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
function tweeting(){
$tweetmelding = 'Melding: ('.date('d-m H:i', strtotime($time)).') '.$melding.''; /* tweet klaar maken */
if (strlen($tweetmelding) >= 140){ /* zorg dat de tweet niet te lang word */
$tweetmelding = substr_replace($tweetmelding, '...', 137, 137);
}
array_push($tweetarray, $tweetmelding); /* zet alle tweets in een array */
}
?>
function tweeting(){
$tweetmelding = 'Melding: ('.date('d-m H:i', strtotime($time)).') '.$melding.''; /* tweet klaar maken */
if (strlen($tweetmelding) >= 140){ /* zorg dat de tweet niet te lang word */
$tweetmelding = substr_replace($tweetmelding, '...', 137, 137);
}
array_push($tweetarray, $tweetmelding); /* zet alle tweets in een array */
}
?>
Nu word $melding en $time buiten de function weggehaald. Nu weet ik dat ik dan function tweeting($melding, $time){ moet doen. Maar is het ook mogelijk om $melding en $time voor te defineren. Dat er standaard de $melding uit het script word overgenomen?
In jouw geval heb je een Pure functie, hij krijgt waardes binnen, doet wat en geeft een waarde terug.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
function tweeting($melding = 'Standaard melding', $time = 12827374)
{
// rest van funcie
}
?>
function tweeting($melding = 'Standaard melding', $time = 12827374)
{
// rest van funcie
}
?>
Ik vind het raar dat je functie weet waar $time en $melding vandaan moeten komen.
Je hebt ze niet eens global gemaakt oid.
Daarnaast behoort een functie iets te returnen... jij doet dat niet.
Ik bedoel eigenlijk meer $melding = $melding. $melding word eerder gevult met gegevens uit een rss. Hoe moet ik ze globaal maken? Het klopt dat mijn functie niks returned, want hij zet alleen wat ik de array, maar hoeft niks op het scherm neer te zetten.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
function tweeting($melding = 'Standaard melding', $time = 12827374){
# Tweet klaarmaken.
$tweetmelding = 'Melding: ('.date('d-m H:i', strtotime($time)).') '.$melding.'';
# Controleren of de tweet niet te lang is.
if(strlen($tweetmelding) >= 140){
# De tweet is te lang dus we korten hem in.
$tweetmelding = substr_replace($tweetmelding, '...', 137, 137);
}
# Resultaat terug sturen.
return $tweetmelding
}
# Nieuwe tweet toevoegen.
$tweetarray[] = tweeting($melding, $time);
?>
function tweeting($melding = 'Standaard melding', $time = 12827374){
# Tweet klaarmaken.
$tweetmelding = 'Melding: ('.date('d-m H:i', strtotime($time)).') '.$melding.'';
# Controleren of de tweet niet te lang is.
if(strlen($tweetmelding) >= 140){
# De tweet is te lang dus we korten hem in.
$tweetmelding = substr_replace($tweetmelding, '...', 137, 137);
}
# Resultaat terug sturen.
return $tweetmelding
}
# Nieuwe tweet toevoegen.
$tweetarray[] = tweeting($melding, $time);
?>