PHP.mk документација

Алтернативен синтакс за контролни структури

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

control-structures.alternative-syntax.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека control-structures.alternative-syntax.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Алтернативен синтакс за контролни структури

Референца за `control-structures.alternative-syntax.php` со подобрена типографија и навигација.

control-structures.alternative-syntax.php

Алтернативен синтакс за контролни структури

(PHP 4, PHP 5, PHP 7, PHP 8)

PHP нуди алтернативен синтакс за некои од своите контролни структури; имено, if, while, for, foreachПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во switch. Во секој случај, основната форма на алтернативниот синтакс е да се промени отворачката заграда во двоеточие (:) и затворачката заграда во endif;, endwhile;, endfor;, endforeach;, или endswitch;, соодветно.

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

Во горниот пример, HTML блокот "A е еднакво на 5" е вгнезден во if изјава напишана во алтернативен синтакс. HTML блокот ќе се прикаже само ако $a е еднакво на 5.

Алтернативниот синтакс се применува и на else and elseif . Следното е if структура со elseif and else во алтернативен формат:

<?php
if ($a == 5):
echo
"a equals 5";
echo
"...";
elseif (
$a == 6):
echo
"a equals 6";
echo
"!!!";
else:
echo
"a is neither 5 nor 6";
endif;
?>

Забелешка:

Мешањето на синтаксите во истиот контролен блок не е поддржано.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Секој излез (вклучувајќи празни места) помеѓу switch изјава и првиот case ќе резултира со синтаксна грешка. На пример, ова е невалидно:

<?php switch ($foo): ?>
<?php case 1: ?>
// ...
<?php endswitch; ?>

Додека ова е валидно, бидејќи завршниот прекин на редот по switch изјавата се смета за дел од затворачката ?> и затоа ништо не се излегува помеѓу switch and case:

<?php switch ($foo): ?>
<?php
case 1: ?>
...
<?php endswitch; ?>

Види исто така while, forПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во if за понатамошни примери.

Белешки од корисници 1 белешка

toxyy
3 години пред
I feel compelled to give a more elegant way using heredoc than the other comment:

<ul>
<?php foreach($list as $item): echo
<<<ITEM
    <li id="itm-$item[number]">Item $item[name]</li>
ITEM;
endforeach; ?>
</ul>

Which works better with multi line blocks, as you only need one overall php tag.

(please don't omit the closing </li> tag despite it being legal, personal preference)
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.