68930

Посилання, умовний оператор

Лекция

Информатика, кибернетика и программирование

Неважко здогадатися що виведе програма 66. Краще використовувати жорсткі посилання: хоч би виходячи з того що для них потрібний один оператор. Умовний оператор Проблему вибору можна без докорів совісті віднести до глобальних проблем.

Украинкский

2014-09-27

43 KB

0 чел.

Лекція № 6

Тема:  Посилання, умовний оператор

План

  1.  Жорсткі посилання
  2.  Символічні посилання
  3.  Умовний оператор

Як вже наголошувалося раніше, в PHP немає такого поняття, як покажчик. Добре це або погано — складно сказати. Те, що є гідністю C — покажчики — одночасно є його недоліком — аж надто там все заплутано, помилки, пов'язані з покажчиками, дуже важко знайти. Особисто мені більше подобається ідеологія покажчиків в мові Pascal: ви можете нормально працювати, як з покажчиками, так і без них. У будь-якому випадку, більше, на що нам доводиться розраховувати в PHP — це посилальні змінні або просто посилання. Посилання бувають двох типів: символічні і жорсткі. Останній тип посилань з'явився в четвертій версії інтерпретатора.

Жорсткі посилання

Жорстке посилання — це просто псевдонім імені іншої змінної. Посилання на посилання на змінну (багаторівневі посилання), як в мові Perl, не підтримуються. Для створення жорсткого посилання використовується оператор &:

<? $х   =   77; $link   =   S$x; $link = 66; echo $link; ?>

Неважко здогадатися, що виведе програма — 66. Для розриву зв'язку між змінною і посиланням використовується функція UnSet:

UnSet ($link);

Саму змінну не можна видалити до тих пір, поки на неї посилається хоч би одне посилання.

Символічні посилання

Символічне посилання — це звичайна змінна, що містить ім'я іншої змінної. Для доступу до значення посилання використовується подвійний знак долара $$:

<?

$x = 77;

$link = "x"; // символічне посилання на змінну $х

echo $$link; // виводить 77

echo $link; // виводить x

$$link = 66; // аналогічно $х = 66

echo $x; // виведе 66

?>

Я не рекомендую використовувати символічні посилання, їх потрібно використовувати в самих крайніх випадках, яких буде небагато. Використання символічних посилань може і без того заплутати заплутану програму. Краще використовувати жорсткі посилання: хоч би виходячи з того, що для них потрібний один оператор $. А взагалі прагніть не використовувати посилання — так ваше життя стане трохи простіше.

Конструкції мови PHP дуже схожі на конструкції мови C, тому, якщо ви знаєте мову C, дуже швидко освоїте PHP. Потрібно відмітити, що синтаксис PHP дуже лаконічний, а ми знаємо, що «стислість — сестра таланту». PHP ще раз дозволяє нам переконатися в цьому.

Умовний оператор

Проблему вибору можна без докорів совісті віднести до глобальних проблем. Як часто вам доводиться вибирати? То чом би не примусити комп'ютер зробити вибір за нас? Для цього і призначений умовний оператор.

Конструкція if-eIse (умовний оператор) є, напевно, найпоширенішою конструкцією в програмах. Яка ж серйозна програма не використовує цю конструкцію?

Синтаксис конструкції if-else такий:

if (логічний   вираз) оператор_1;

else оператор_2;

Перший оператор буде виконаний, якщо логічний вираз істинний, другою — якщо логічний вираз помилковий. Можна також використовувати скорочену форму конструкції, без другого оператора:

if    (логічний   вираз) оператор_1;

В цьому випадку ми можемо обійтися без «else». Якщо вам потрібно виконати не одного оператора, а цілу групу, тоді цих операторів слід помістити в блок операторів { }:

if    (логічний   вираз) {

оператор_1;

оператор_i;

} else {

оператор_i+l;

оператор_n;

}

Здається, я ще жодного разу не звертав уваги на роздільник операторів — це символ крапка з комою ";". Зовсім очевидно, що ми можемо записати декілька операторів в один рядок:

if (логічний вираз) { оператор_1; ... оператор_i; }

В даному випадку після фігурної дужки можна ставити крапку з комою, а можна і не ставити. Але якщо ви думаєте використовувати повну конструкцію (тобто з «else»), тоді крапка з комою не ставиться. Якщо ж замість блоку операторів використовується тільки один оператор (див. загальний синтаксис), тоді крапка з комою після нього (перед else) обов'язкова:

if    ($a>5)    echo   "a>5"; else   echo   "a<=5";

Існує ще один варіант конструкції if-else. Ось його синтаксис:

if    (логічний   вираз   1)

оператор_1 ;

elseif    (   логічний   вираз   2   )

оператор_2;

else

оператор_3;

Здається дана конструкція не дуже зручна, тому я раджу використовувати її класичний варіант.

Для повноти опису даної конструкції потрібно сказати, що ви можете використовувати ще один — третій альтернативний варіант (цього разу вже точно останній) конструкції:

if    (логічний   вираз   1):

оператор_1;

elseif    (   логічний   вираз   2   ) :

оператор_2;

else :

оператор_3;

endif

Якщо пропустити крапки з комою, то ви отримаєте повідомлення про помилку.


 

А также другие работы, которые могут Вас заинтересовать

13629. Каждый великий успех науки имеет своим истоком великую дерзость воображения 13.85 KB
  Каждый великий успех науки имеет своим истоком великую дерзость воображения. Д. Дьюи. Вначале дадим определение науки. Наука это систематизированные взгляды на окружающий мир воспроизводящие его существенные стороны в абстрактно-логической форме и основанные на науч...
13630. Вольтер. Как значимы эмоции и чувства! Это ветры, надувающие паруса корабля. Они его иногда топят, но без них он не может существовать 14.7 KB
  Как значимы эмоции и чувства Это ветры надувающие паруса корабля. Они его иногда топят но без них он не может существовать Вольтер По моему мнению высказывание Вольтера известного поэта и философа о том что эмоции и чувства играют немаловажную роль в жизни человека...
13631. Культура - лишь тоненькая яблочная кожура над раскаленным хаосом 14.08 KB
  Культура лишь тоненькая яблочная кожура над раскаленным хаосом.Ф. НицшеЯ глубоко не согласен с данным высказыванием немецкого философа XIX века Ф. Ницше. Данное высказывание принижает значение культуры для человечества. По Ницше инстинктивное бессознательное в челов...
13632. Наука не сводится к сумме фактов, как здание не сводится к груде камней 16.16 KB
  Наука не сводится к сумме фактов как здание не сводится к груде камней.А. ПуанкареНаука является одной из форм духовной культуры. Увеличение дальнейшее совершенствование научных знаний во многом определяет развитие материального производства социальноэкономическ...
13633. Поэт бесконечно уступает художнику в изображении видимого, и музыканту - в изображении невидимого 14.72 KB
  Поэт бесконечно уступает художнику в изображении видимого и музыканту в изображении невидимого. Леонардо да Винчи И поэт и художник и музыкант являются творцами искусства. Мы знаем что искусство особый способ познания и отражения действительности посредством ...
13634. Проповедовать мораль легко, обосновать ее трудно 14.86 KB
  Проповедовать мораль легко обосновать ее трудно. А. Шопенгауэр.Что такое мораль И почему согласно Шопенгауэру обосновать ее трудно Мораль – это часть духовности форма общественного сознания это система норм регулирующих поведение людей основанная на общеприняты
13635. Кеннеди. У искусства есть враг, имя которому - невежество 15.65 KB
  У искусства есть враг имя которому невежество. Д. Кеннеди Автор считает что незнание не способность разбираться в чемлибо а тем более в искусстве может принести огромный вред искусству. И мы можем с этим согласиться. Невежество происходит от слова ведать знат
13636. Цивилизация есть стадия умирания культуры 14.68 KB
  Цивилизация есть стадия умирания культуры.О. ШпенглерРазвитие культуры и цивилизации неразрывно связаны: вне духовных ценностей созданных в процессе культурной деятельности людей не может сложиться и цивилизационная общность.Некоторые исследователи полностью ото...
13637. Щадя преступников, вредят честным людям 14.43 KB
  Щадя преступников вредят честным людямСенекаВыдающийся философ Сенека жил во времена Римской империи. Что же этой фразой он хотел сказать Не наказывая преступников вообще или не наказывая их должным образом мы наносим вред честнымзаконопослушным гражданам. И хотя...