$name['anything'] is addressing a string offset, 'anything' is casted to
0 so you're overwriting the first character of $name with $name.
The first result, string(6) «oobar», is looking like it's overwriting
the first byte with a null byte, which isn't what one expects but
related to the way PHP optimizes access to variables, which isn't made
for «wrong» code.
cдаётся мне, первый, кто напишет для «кривых, плохих, тупых, нелогичных и вообще корявых» функций враппер в виде “красиво и правильно именованных” функций и выложит его в виде pecl-модуля станет просто мега-героем…
вы мне на вопрос ответьте, а не давайте свои мега-советы про матчасть.
здесь какбе речь идет про mod_php, появляетесь вы и говорите очень умную везчъ «выкинуть PHP и поставить Python», после чего доносите до нас знания про mod_wsgi.
а вот пекл — самое оно… хочешь — ставишь, не хочешь не ставишь…
подумайте, в чём разница (домашнее заданее).
более того, я уверен что мой пример будет работать ОДИНАКОВО для ЛЮБОЙ версии пхп5.
хинт: в пхп5 и пхп4 данные передовались в функцию по-разному…
таких косяков навалом и в вашем (и моём :) любимом пайтоне
проверте это
function foobar($name) {
$name['anything'] = $name;
var_dump($name);
}
$name = «foobar»;
foobar($name);
$name = «foobar»;
$name['anything'] = $name;
var_dump($name);
результат:
X-Powered-By: PHP/5.2.5
Content-type: text/html
string(6) «foobar»
string(6) «foobar»
In your code:
$name = «foobar»;
$name['anything'] = $name;
$name['anything'] is addressing a string offset, 'anything' is casted to
0 so you're overwriting the first character of $name with $name.
The first result, string(6) «oobar», is looking like it's overwriting
the first byte with a null byte, which isn't what one expects but
related to the way PHP optimizes access to variables, which isn't made
for «wrong» code.
для «просветленных»:
фактически ваш код
$foo = «foobar»;
$foo[«foobar»] = $foo;
равен этому
$foo = «foobar»;
$foo[0] = «f»;
code.google.com/p/lapa/
здесь какбе речь идет про mod_php, появляетесь вы и говорите очень умную везчъ «выкинуть PHP и поставить Python», после чего доносите до нас знания про mod_wsgi.
даже не знаю… «скажи наркотикам нет...»
а что, mod_python как-то по-другому работает? автор какбе «в курсе», или автор просто хотел сказать что он реально «серьёзный разработчик»?
serg@s2 serg# time perl concat.pl
real 0m0.179s
user 0m0.179s
sys 0m0.000s
serg@s2 serg# time python concat.py
real 0m0.321s
user 0m0.313s
sys 0m0.008s
serg@s2 serg# time php concat.php
real 0m47.606s
user 0m47.561s
sys 0m0.015s
serg@s2 serg# time php concat1.php
real 0m0.164s
user 0m0.163s
sys 0m0.000s
serg@s2 serg# time perl concat.pl
real 0m1.762s
user 0m1.754s
sys 0m0.008s
upload.com.ua/get/900472398
символично, да?