[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с кодом
Страницы: 1, 2
Intr0vert
Приветствую друзья.
Только начал изучения PHP, а уже в недоумении.
Если не сложно посмотрите код, и укажите на ошибку, буду очень благодарен.

Показывает ошибку "Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\blog\index.php on line 18"


<?php

//Echo "Good Bye World";

//echo time ();


function add($param1, $param2){
return $param1 + $param2;
}

$a=$_GET['a'];
$b=$_GET['b'];
echo add($a, $b);
echo "</br>";
for ($i=0; $i<10; $i++){

echo $i."</br>";
?>


Хотя 18 строка закрывающий тег ?> не понимаю что с ним может быть не так.
К стати если не тот раздел прошу переместить, спешу, не успел все разделы посмотреть.
Kusss
у for отсутствует закрывающая скобка "}"
Kusss
1) не рекомендуется закрывать php код в конце файла.
2) одинарные ковычки в echo работают быстрее, и по мне это более правильно, так как не нужно "ломать" html код, вставляя двойные ковычки.
Это в большинстве случаев, а не всегда.
echo '<href="http://phpforum.su/" title="Ссылка">ссылка</a>';
echo "<href=\"http://phpforum.su/\" title=\"Ссылка\">ссылка</a>";
правда html перенос строки не работает "\r\n", и выводится как текст.
3) Я предпочитаю функции писать в самом низу файла
4) С помощью (int) приводим строку к типу integer(число)

<?php
$a = (int)$_GET['a'];
$b = (int)$_GET['b'];

echo add($a, $b);
echo '</br>';

for ($i=0; $i<10; $i++)
echo $i.'</br>';

function add($param1, $param2){
return $param1 + $param2;
}
Игорь_Vasinsky
Цитата
одинарные ковычки в echo работают быстрее

фи.


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Цитата
одинарные ковычки в echo работают быстрее

Так зарождаются легенды.... smile.gif

_____________
[продано копирайтерам]
waldicom
Цитата (Kusss @ 3.08.2016 - 11:22)
одинарные ковычки в echo работают быстрее

Это еще чё... Вот print работает быстрее echo - вот что круто!

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
SlavaFr
одинарные кавычки действительно потребляют меньше ресурсов, так как парзер не пытается внутри одинарных ковычек интерпретироавть спкциальные знаки и переменные.
Так что совет от Kuss вполне обоснованный.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
waldicom
Цитата (SlavaFr @ 3.08.2016 - 20:17)
одинарные кавычки действительно потребляют меньше ресурсов, так как парзер не пытается внутри одинарных ковычек интерпретироавть спкциальные знаки и переменные.

На сколько мили микро нано пикосекунд одинарные кавычки "быстрее" двойных?
Как часто в проекте используется echo?

Цитата (SlavaFr @ 3.08.2016 - 20:17)

Так что совет от Kuss вполне обоснованный.

Так что совет от Kuss вполне смешной

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
brevis
$i++
Странно, что Kusss не упомянул о том, что преинкремент быстрее постинкремента.
В некоторых источниках называют разницу в производительности аж 10%.
А теперь представьте какие цифры набегают если запускать такой скрипт хотя бы несколько лет подряд.

_____________
Чатик в телеге
Invis1ble
Цитата (brevis @ 4.08.2016 - 00:39)
В некоторых источниках называют разницу в производительности аж 10%.

BTW, в php 7 оптимизатор приводит к преинкременту в определенных случаях, насколько я помню

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

SlavaFr
Цитата (waldicom @ 3.08.2016 - 20:17)
На сколько мили микро нано пикосекунд одинарные кавычки "быстрее" двойных?
Как часто в проекте используется echo?

Речь идёт не только об echo, но и любых употреблениях стринга, который не должен заниматься парсингом текста, пытаqясь переводить \n \т \r и другие специальные знаки, а так же пытатся выискивать в стринге переменные, которые он должен заменять значениями переменными которые видны в этом участке.

Не кто не запрещает чесать левое ухо правой рукой через колено и не кто не запрещает вместо str_replace использовать preg_replace, но это всё ровно будет считатся седеланым через задницу. smile.gif



_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
waldicom
Цитата (SlavaFr @ 4.08.2016 - 09:47)
Не кто не запрещает чесать левое ухо правой рукой через колено и не кто не запрещает вместо str_replace использовать preg_replace, но это всё ровно будет считатся седеланым через задницу.

Хорошее сравнение, мне понравилось. У меня другое - никто не запрещает устанавливать давление в шинах автомобиля с точностью до десятитысячной бара каждые три километра чтобы экономить 0,001 литра бензина на 100 километров. Но это будет считаться далпаёпством.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
SlavaFr
Цитата (waldicom @ 4.08.2016 - 11:47)
У меня другое - никто не запрещает устанавливать давление в шинах автомобиля с точностью до десятитысячной бара каждые три километра чтобы экономить 0,001 литра бензина на 100 километров. Но это будет считаться далпаёпством.

biggrin.gif biggrin.gif biggrin.gif
Дело в том, что затраты времени для подкачивания резины для экономии 5 граммов бензина на сто километров действительно не оправдывают себя.
Для того, что бы поставить вместо двойной кавычки одинарную, требуется всего лишь нажать на другую кнопку. biggrin.gif (beer)

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
jetistyum
Тогда и ООП к черту, будем экономить на спичках! :)
как на счет разницы в длинне названий функций и переменных? :)
для интереса:

Разница на тестовом скрипте была в пределах погрешности, у меня вышло
0.00003 сек на 100 000 проходов цикла.

Total 1 :0.00306391716003
Total 2 :0.00303101539612



<?php
$start = microtime(1);

for($i=0; $i<100000; $i++){
$t = 'Some Texxt That will not be parsed';
}


$total = microtime(1)-$start;
echo "Total 1 :".$total."<br/>";

$start = microtime(1);

for($i=0; $i<100000; $i++){
$t = "Some Texxt That will be parsed ";
}

$total = microtime(1)-$start;

echo "Total 2 :".$total."<br/>";

?>


Кстати, тогда и массивы лучше использовать только с int ключами, и указывать ключи принудительно ;)


А вообще забавно, когда новички начинают в первую очередь подготавливать свой скрипт к нагрузкам в 500 млн обращений в секунду, экономить миллиардную долю секунды на кавычках :).

Не забивайте этим голову. Пишите так, как удобно.
гораздо важнее скорость написания кода и возможность поддержки кода, чем скорость его работы.
SlavaFr
@jetistyum на названиях методов и принципиальных для программирования концептах экономить нельзя.
Экономить надо там, где это необходимо или там, где это не составляет труда. Например вместо двойных кавычек вставить одинарные, труда не составляет smile.gif

Если нелёгкая судьба занесла java-программиста в пхп-проэкт, то можно закрыть глаза на то, что он по привычке лупит для стрингов двойные кавычки. Тем неменее если я буду делать review кода, то объясню в первый раз, почему для простых стрингов предпочтительней одинарные кавычки, во второй раз напомню, а в третий раз не приму проэко, пока не переделает. sad.gif



_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.