array_map gebruiken?quote:Op maandag 13 mei 2013 14:26 schreef Sitethief het volgende:
Wat is eigenlijk beter, of maakt het niks uit?
Dit:
[ code verwijderd ]
Of dit:
[ code verwijderd ]
Ik vraag me af of die else nou echt zoveel vertraagt, ik vind het gewoon lelijk staan om standaard $k in $p te zetten in dit geval.
1 2 3 | if (productdata) { array_map(this->getProduct, $je_product); } |
quote:Op donderdag 16 mei 2013 19:02 schreef slacker_nl het volgende:Tssss moet niet gekker wordenSPOILER: nog kekkerOm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Just say hi!
Daar lijkt het wel op, maar het doet iets anders. In de oorspronkelijke functie wordt het product gekoppeld aan de key opgehaald en in een nieuwe array op de plaats van value neergezet. Dat is dus niet per se gelijk aan wat array_map doet.quote:Op donderdag 16 mei 2013 19:19 schreef slacker_nl het volgende:
[..]
array_map gebruiken?
[ code verwijderd ]
Works for me:quote:Op donderdag 16 mei 2013 20:06 schreef papernote het volgende:
[..]
Daar lijkt het wel op, maar het doet iets anders. In de oorspronkelijke functie wordt het product gekoppeld aan de key opgehaald en in een nieuwe array op de plaats van value neergezet. Dat is dus niet per se gelijk aan wat array_map doet.
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 | <?php Class Foo { function bar($iets) { return "bar: $iets"; } } $foo = new Foo(); $hash = array( 'hello' => 'hallo', 'world' => 'wereld' ); function bla($iets) { return "bla$iets"; } $mapval = array_map('bla', $hash); print_r($mapval); $mapval = array_map(array($foo, 'bar'), $hash); print_r($mapval); ?> |
1 2 3 4 5 6 7 8 9 10 | Array ( [hello] => blahallo [world] => blawereld ) Array ( [hello] => bar: hallo [world] => bar: wereld ) |
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 32 33 34 35 36 | <?php // set_time_limit(10); session_start(); $t = 2; function __time() { list($usec, $sec) = explode(" ", microtime()); $t = ((float)$usec + (float)$sec); return $t; } $abort = false; $start = __time(); ignore_user_abort(true); echo 'start test<br />'; while ($abort != true) { if (isset($_SESSION['test'])) { $abort = true; unset($_SESSION['test']); echo 'abort<br />'; } if (__time() - $start > $t) { echo __time() . "<br />"; $start = __time(); } } ?> |
1 2 3 4 5 6 7 | <?php session_start(); $_SESSION['test'] = true; ?> |
Voordeel van ignore_user_abort is dat het script doorloopt als de browser gesloten wordt... dat vind ik het handige er aan. Maar stel het project loopt fout, maar blijft fout doorlopen... dan moet ik php killen en dat is niet echt praktisch als je geen server admin bent.. Dus ben ik opzoek naar een methode die wel werkt!quote:Op vrijdag 17 mei 2013 11:07 schreef slacker_nl het volgende:
Waarom zou dat het spul moeten opheven, als dat waar is doe je niks met ignore_user_abort(); Dus dat blijft gewoon zoals het is..
Maak van misschien maar, het werkt! LOLquote:edit: misschien werkt het ook gewoon al als je session_destroy() en session_start() weer aanroept.
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 32 33 34 35 36 | <?php function __time() { list($usec, $sec) = explode(" ", microtime()); $t = ((float)$usec + (float)$sec); return $t; } ob_start(); // set_time_limit(10); session_start(); ignore_user_abort(true); $t = 2; $abort = false; $start = __time(); if (isset($_SESSION['test'])) { unset($_SESSION['test']); } while ($abort != true) { if (isset($_SESSION['test'])) { $abort = true; unset($_SESSION['test']); echo 'abort<br />'; } if (__time() - $start > $t) { $start = __time(); echo $start;} session_destroy(); session_start(); } ?> |
1 2 3 4 | <?php session_start(); $_SESSION['test'] = true; ?> |
Daar zou ik dan een APC variabele voor gebruiken, die staat in het werkgeheugen.quote:Op vrijdag 17 mei 2013 12:00 schreef Chandler het volgende:
Zat zelf nog aan een extra bestandje (kijken of deze bestaat) te denken, die te plaatsen waardoor ALLE jobs gestopt worden, alleen weet ik niet of dat dat leuk is voor de server qua preformance?!
1 2 3 4 5 6 7 8 9 10 | <?php ignore_user_abort(1); // run script in background set_time_limit(0); // run script forever $interval=60*15; // do every 15 minutes... do{ // add the script that has to be ran every 15 minutes here // ... sleep($interval); // wait 15 minutes }while(true); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | Array ( [0] => 172.340.194.2 [1] => 39.64.51.232 [2] => 1.2.3.4 [3] => 81.119.83.275 [4] => 15.211.81.90 ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $findIP = '1.2.3.4'; foreach ($arrIP as $IP) { if ($findIP == $IP) { echo 'IP FOUND'; echo '<br>'; } else { echo 'IP NOT FOUND'; echo '<br>'; } } ?> |
Omdat je datatypes niet gelijk zijn. Je vergelijkt 1.2.3.4 met '1.2.3.4'.quote:Op vrijdag 17 mei 2013 14:07 schreef xaban06 het volgende:
[ code verwijderd ]
[ code verwijderd ]
Waarom krijg ik geen IP FOUND te zien Alleen maar IP NOT FOUND.
Beide zijn strings, dus het moet goed zijn.quote:Op vrijdag 17 mei 2013 14:09 schreef Maringo het volgende:
[..]
Omdat je datatypes niet gelijk zijn. Je vergelijkt 1.2.3.4 met '1.2.3.4'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php $arrIP = array("123.123.123.123", "10.0.0.1", "1.2.3.4", "121.111.85.11", "onzin"); $findIP = '1.2.3.4'; foreach ($arrIP as $IP) { if ($findIP == $IP) { echo 'IP FOUND'; echo '<br>'; } else { echo 'IP NOT FOUND'; echo '<br>'; } } ?> |
maar doe zoiets:quote:Op vrijdag 17 mei 2013 14:07 schreef xaban06 het volgende:
[ code verwijderd ]
[ code verwijderd ]
Waarom krijg ik geen IP FOUND te zien Alleen maar IP NOT FOUND.
1 2 3 4 5 6 7 8 9 10 | <?php $ip_regexp = '/^1.2.3.4/$'; $found = preg_grep($ipregexp, $array_met_ip); if ($found) { print "$ip_regexp found\n"; print_r($found) } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $arrIP = array('172.340.194.2', '39.64.51.232', '1.2.3.4', '81.119.83.275', '15.211.81.90'); $findIP = '1.2.3.4'; foreach ($arrIP as $IP) { if ($findIP == $IP) { echo 'IP FOUND'; echo '<br>'; } else { echo 'IP NOT FOUND'; echo '<br>'; } } ?> |
Beide zijn sowieso strings dus niet nodig om ook het type te controleren.quote:Op vrijdag 17 mei 2013 14:13 schreef rekenwonder het volgende:
Maar == is toch geen type-safe comparison?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |