Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.01.2009, 01:33
|
|
Познающий
Регистрация: 13.12.2008
Сообщений: 54
Провел на форуме: 217810
Репутация:
80
|
|
Сообщение от Pashkela
а вот так " {$kak[16]}" точно нельзя, неправильно, и небезопасно
это почему же?
|
|
|

09.01.2009, 01:41
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
ну это, некрасиво как-то, щаз еще погуглю, так не помню
|
|
|

09.01.2009, 01:46
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
а вот так " {$kak[16]}" точно нельзя, неправильно, и небезопасно
Это один из двух одобренных в ZendFramework сбособов вставлять переменные в " строки.
|
|
|

09.01.2009, 01:59
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Сообщение от Pashkela
ну это, некрасиво как-то, щаз еще погуглю, так не помню
наоборот красиво. ИМХО красивее
echo "ололо {$omg} привет" чем без скобок.
еще случай
тебе надо вывести строку "я-хакир"
$xak = "хак";
в лучшем виде будет echo "я-{$xak}ир";
а вообще форматный вывод решает
Последний раз редактировалось ntldr; 09.01.2009 в 02:03..
|
|
|

09.01.2009, 02:07
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
тебе надо вывести строку "я-хакир"
$xak = "хак";
в лучшем виде будет echo "я-{$xak}ир";
Я бы так сделал:
тебе надо вывести строку "я-хакир"
PHP код:
$xak = 'хак';
echo "я-$xakир";
|
|
|

09.01.2009, 02:30
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Сообщение от Pashkela
Я бы так сделал:
тебе надо вывести строку "я-хакир"
PHP код:
$xak = 'хак';
echo "я-$xakир";
да я не очень хороший пример привел. но читаемость моего варианта в разы лучше
|
|
|

09.01.2009, 14:13
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Вариант с {} позволяет вставлять не только переменные, но и любые массивы или переменные из классов.
PHP код:
echo "абвг {$var[1]['str']} {$xxx->blabla['qwerty']}";
Это очень удобно для вывода переменных с использованием heredoc-синтаксиса.
|
|
|

09.01.2009, 15:18
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Можно все, вот только
PHP код:
echo '[0] => '.$array[0]."\n";
И читабельно, и работает быстрее, чем вариации типа:
PHP код:
echo "[0] => {$array[0]}\n";
|
|
|

09.01.2009, 15:30
|
|
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме: 7875940
Репутация:
2362
|
|
Сделал скриптик для примера:
PHP код:
<?php
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
define(N, 1000000);
for($i=0; $i<N; $i++)
getmicrotime();
$str = "";
$array['a'] = 'efg';
$start = getmicrotime();
for($i=0; $i<N; $i++)
$str = 'abcd '.$array['a'].' hij';
echo getmicrotime() - $start, "\n";
$str = "";
$array['a'] = 'efg';
$start = getmicrotime();
for($i=0; $i<N; $i++)
$str = "abcd ".$array["a"]." hij";
echo getmicrotime() - $start, "\n";
$str = "";
$array['a'] = 'efg';
$start = getmicrotime();
for($i=0; $i<N; $i++)
$str = "abcd {$array['a']} hij";
echo getmicrotime() - $start, "\n";
$str = "";
$array['a'] = 'efg';
$start = getmicrotime();
for($i=0; $i<N; $i++)
$str = <<<HD
abcd {$array['a']} hij
HD;
echo getmicrotime() - $start, "\n";
$str = "";
$array['a'] = 'efg';
$start = getmicrotime();
for($i=0; $i<N; $i++)
$str = <<<HD
abcd $array[a] hij
HD;
echo getmicrotime() - $start, "\n";
?>
Результаты:
0.789710998535
0.792525053024
1.04027700424
1.01121997833
1.00872707367
|
|
|

09.01.2009, 16:51
|
|
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме: 457850
Репутация:
174
|
|
Глупо так делать выводы. Как минимум, нужно произвести этот тест на нескольких машинах и не 1 раз. Также стоит выделить расчёт каждого варианта в отдельный скрипт.
На моём сервере к примеру 2 вариант в 2 раза "быстрее" первого.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|