1) Heb je wel een PHP versie hoger of gelijk aan 4.0.4?
2) Jawel, bijvoorbeeld:
2) Jawel, bijvoorbeeld:
PHP:
1
2
3
4
5
6
| function my_array_sum($array) { $i = 0; foreach($array as $key) $i += $key; return $i; } |
Ja de php versie is correct (zelfs hetzelfde op beide servers) dat is juist het rare. Kan het misschien ergens aan een instelling liggen oid?Ericston schreef op 02 september 2002 @ 18:59:
1) Heb je wel een PHP versie hoger of gelijk aan 4.0.4?
2) Jawel, bijvoorbeeld:
PHP:
1 2 3 4 5 6 function my_array_sum($array) { $i = 0; foreach($array as $key) $i += $key; return $i; }
PHP:
1
2
3
4
5
6
7
| function my_array_sum($array) { $i = 0; foreach($array as $key) if ( !is_array($key) ) $i += $key; return $i; } |
Dit is beter, zo werkt ie precies hetzelfde als array_sum zou moeten doen.
Wellicht draait PHP in safe mode, dan is het mogelijk dat functies uitgeschakeltd zijn. Maar waarom iemand array_sum zou willen uitschakelen...
[ Voor 0% gewijzigd door Ericston op 02-09-2002 19:10 . Reden: frappante d t fout ]
ik denk ook dat het aan de safemode ligt aangezien ik ook niet kan uploaden via php, maar array_sum disablen zie ik niet echt het niet van inEricston schreef op 02 september 2002 @ 19:07:
PHP:
1 2 3 4 5 6 7 function my_array_sum($array) { $i = 0; foreach($array as $key) if ( !is_array($key) ) $i += $key; return $i; }
Dit is beter, zo werkt ie precies hetzelfde als array_sum zou moeten doen.
Wellicht draait PHP in safe mode, dan is het mogelijk dat functies uitgeschakeltd zijn. Maar waarom iemand array_sum zou willen uitschakelen...
Ik mag aannemen dat die server dus niet van jou is, in dat geval zou je met de serveradmin contact op kunnen nemen, want ik kan je garanderen dat array_sum sneller is dan my_array_sum. Indien ie toch van jou is moet je even uitvinden waar je die uitgeschakelde functie zut kan vinden, dat weet ik niet precies.
Het is niet echt mijn server inderdaad. Maar als ik de beste man liev aankijk dan mag ik wel even een paar dingen goed zettenEricston schreef op 02 september 2002 @ 19:38:
Ik mag aannemen dat die server dus niet van jou is, in dat geval zou je met de serveradmin contact op kunnen nemen, want ik kan je garanderen dat array_sum sneller is dan my_array_sum. Indien ie toch van jou is moet je even uitvinden waar je die uitgeschakelde functie zut kan vinden, dat weet ik niet precies.
T'is niet echt een php oplossing, maar ik denk wel een van de meest efficiente manier is om dit met behulp van een database (hier als voorbeeld PostgreSQL) te doen:
Je houdt de counter als sequence bij, en bij elke hit laat je gewoon een query los met bijvoorbeeld:
Om de counter op te vragen kun je
Tenminste ik neem aan dat je wel een SQL database gebruikt, in dat geval bespaart je dat nml een heleboel rekenwerk en aangezien dat je counter *hopelijk* een heleboel hits moet gaan tellen heb je het probleem met recordlocking e.d. netjes omzeild, door het aan de database over te laten. Voorkomt telfouten en corrupte tables, en dat is fijn toch?
Hier kun je wat meer lezen over dit soort dingen:
http://www.postgresql.org...p?functions-sequence.html
(Ik weet niet in hoeverre dit ook voor MySQL geldt, maar hej, we hebben het hier over databases en niet over filesystems met MySQL frontend
, zie ACM,s sig)
Je houdt de counter als sequence bij, en bij elke hit laat je gewoon een query los met bijvoorbeeld:
code:
1
| nextval('database.counter_sequence') |
Om de counter op te vragen kun je
code:
1
| SELECT currval('database.counter_sequence') |
Tenminste ik neem aan dat je wel een SQL database gebruikt, in dat geval bespaart je dat nml een heleboel rekenwerk en aangezien dat je counter *hopelijk* een heleboel hits moet gaan tellen heb je het probleem met recordlocking e.d. netjes omzeild, door het aan de database over te laten. Voorkomt telfouten en corrupte tables, en dat is fijn toch?
Hier kun je wat meer lezen over dit soort dingen:
http://www.postgresql.org...p?functions-sequence.html
(Ik weet niet in hoeverre dit ook voor MySQL geldt, maar hej, we hebben het hier over databases en niet over filesystems met MySQL frontend
Everyone complains of his memory, no one of his judgement.
Pagina: 1