|
|
|
| Уважаемые администраторы и посетители форума. Предлагаю собрать в этой теме интересные, каверзные и просто распространенные ошибки. Возможно различные ситуации, описанные здесь, помогут легче обнаруживать ошибки, а то и вовсе их не делать (особенно это касается распространенных логических ошибок, например как, в ситуации №7 и №8):
Начинаю:
1) Классическая ошибка для всех начинающих - забыл поставить точку с запятой после оператора:
2) Ставится точка с запятой после условного оператора или оператора цикла (одна из моих "любимых")
if($var=='some signification');
exit;
|
3) Не ставится знак доллара перед переменной. В таком случае она воспринимается как константа
<?
$InitPos=1;
$EndPos=5;
for($i = $InitPos; $i <= EndPos; $i++) ?>
|
?>
4) Ставится знак доллара перед именем функции
$SaveStringInFile($Str);
5) Путается порядок аргументов функции (одна из моих "любимых")
6) Вместо оператора конкатенации строк PHP (точка) используется оператор из JavaScript(плюс) и наоборот
<?
$Str1='мой';
$Str2=' дом';
//Хотим получить мой дом :)
Str=$Str1+$Str2;
?>
|
7) Одна из самых прикольных ситуаций. Одна и та же переменная используется в качестве счетчика в двух циклах, один из которых вложен в другой. Для ее исправления во вложенном цикле в качестве счетчика должна быть использована другая переменная $b, например
<?
for($i=0; $i<Var1; $i++)
{
//код
for($i=0; $i<Var2; $i++)
{
//код
}
} ?>
|
8) Вот еще одна интересная и трудно находима для новичка ошибка, попался на ней несколька раз. Неправильное употребление некоторых функций.
$Array = array_pop($Array);
Результатом будет то, что массив $Array потеряется. Нужно вот так
array_pop($Array);
Вопрос к более опытным программистам: как поточнее определить этот тип ошибок? | |
|
|
|
|
|
|
|
для: antf
(01.02.2005 в 00:20)
| | Как начинающий часто делаю ошибки написаные выше и вот такие ошибки!
1) Забываю закрывать скобки как круглые так и фигурные, например:
<?
if(empty($value) // Не закрыл круглую скобку
{
....// Идет какой-нибудь код
// А потом забываю или случано удаляю фигурную скобку!
?>
|
2) ... что-то не могу пока больше вспомнить! | |
|
|
|
|
|
|
|
для: Artemy
(01.02.2005 в 12:02)
| | Чтобы исключить эту ошибку, приучтие себя, раз и навсегда, парные элементы (скобки, кавычки, парные теги и т.п.) писать вразу оба, а затем возвращать курсор внутрь пары и вписывать код....
<?php
?>
затем
<?php
if()
?>
затем
<?php
if(empty())
?>
затем
<?php
if(empty($value))
{
}
?>
затем
<?php
if(empty($value))
{
echo "";
}
?>
затем
<?php
if(empty($value))
{
echo "<font face=arial></font>";
}
?>
и наконец
<?php
if(empty($value))
{
echo "<font face=arial>Значение пустое!</font>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Sfinks
(01.02.2005 в 13:34)
| |
$q = "<a href=".$PHP_SELF."?start=".$in."&end=".$dn.">!!!</a>";
|
точки возле переменных | |
|
|
|