I hereby claim:
- I am ksimka on github.
- I am ksimka (https://keybase.io/ksimka) on keybase.
- I have a public key whose fingerprint is F6C3 5BF2 286F 1ED2 1650 C26F 39AC 04FC 4141 D525
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
.controller-wiki div.wiki { | |
font-family: Helvetica, Arial; | |
font-size: 14px; | |
line-height: 1.6; | |
background-color: #fff; | |
color: #333; | |
-webkit-font-smoothing: antialiased; | |
} | |
.controller-wiki div.wiki p { | |
margin: 1.2em 0; |
<?php | |
// Source: https://github.com/yiisoft/yii2/blob/a2c483fc19a0d46dcefd5e97293cde55ee552ecf/framework/console/Markdown.php | |
/** | |
* @link http://www.yiiframework.com/ | |
* @copyright Copyright (c) 2008 Yii Software LLC | |
* @license http://www.yiiframework.com/license/ | |
*/ | |
namespace yii\console; |
<?php | |
// Test for one case: exploding string by space to two parts | |
function rand_str() { | |
return substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, rand(10, 20)); | |
} | |
$strs = []; | |
for ($i = 0; $i < 100000; $i++) { |
List of JSON RPC client libraries in PHP available on GitHub.
https://github.com/fguillot/JsonRPC
result
key and null
on errorIgor Wiedler написал простенькую функцию retry, которая повторяет выполнение коллбека до получения успешного результата или достижения заданного количества неудач. При этом он использовал goto для реализации цикла. Когда его спросили, а почему goto, а не, скажем, рекурсия, он неожиданно очень подробно и интересно ответил. Ниже приводится перевод его ответа.
Конечно же, я рассматривал альтернативы goto
. Я очень подробно их изучил, и рад представить вам результаты.
Когда парсер PHP читает исходник, код компилируется в последовательность опкодов, которая затем будет выполнена движком Zend (tm) (r). Компилятор выполняет кое-какие оптимизации, но вообще он довольно тупой. Поэтому, в зависимости от написанного вами кода он будет генерировать разные опкоды. Это напрямую влияет на производительность.
Существует несколько способов написать цикл. Начнём с упомянутого вами — рекурсии.
function retry($retries, callable $fn)
<?php | |
$strs = []; | |
$s = str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 10); | |
$n = 100000; | |
for ($i = 0; $i < $n; $i++) { | |
$strs[$i] = substr(str_shuffle($s), 0, mt_rand(10, 100)); | |
} |
<?php | |
$a = []; | |
//$s = 123456; | |
$s = 's6tbdfgj222dJGk'; | |
$rs = str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 10); | |
$numGen = function() { | |
return rand(1, 9999999); | |
}; |
list
lskdj fkjdf
a;skdjlasdjkf
echo "abc";
kjshdkfjh djf
kjh kjhk