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

for

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

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

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

control-structures.for.php

for

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

for циклусите се наједноставните циклуси во PHP. Тие се однесуваат како нивните колеги во C. Синтаксата на for циклусот е:

for (expr1; expr2; expr3)
    statement

Првиот израз (expr1) се проценува (извршува) еднаш безусловно на почетокот на циклусот.

На почетокот на секоја итерација, expr2 се проценува. Ако се проценува на true, falseциклусот продолжува и вгнездените изјави се извршуваат. Ако се проценува на

, expr3 извршувањето на циклусот завршува.

На крајот на секоја итерација, expr2се проценува (извршува). expr2 Секој од изразите може да биде празен или да содржи повеќе изрази разделени со запирки. Во true, сите изрази разделени со запирка се проценуваат, но резултатот се зема од последниот дел. break празен значи дека циклусот треба да се извршува неодредено (PHP имплицитно го смета како for , како C). Ова можеби не е толку бескорисно како што мислите, бидејќи честопати би сакале да го прекинете циклусот користејќи условна

изјава наместо да ја користите

<?php
/* example 1 */

for ($i = 1; $i <= 10; $i++) {
echo
$i;
}

/* example 2 */

for ($i = 1; ; $i++) {
if (
$i > 10) {
break;
}
echo
$i;
}

/* example 3 */

$i = 1;
for (; ; ) {
if (
$i > 10) {
break;
}
echo
$i;
$i++;
}

/* example 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

израз на вистинитост. for Разгледајте ги следните примери. Сите тие прикажуваат броеви од 1 до 10:

Се разбира, првиот пример изгледа најубав (или можеби четвртиот), но може да откриете дека можноста за користење празни изрази во for loops.

for (expr1; expr2; expr3):
    statement
    ...
endfor;

Вообичаено е за многу корисници да итерираат низ низи како во примерот подолу.

<?php
/*
* This is an array with some data we want to modify
* when running through the for loop.
*/
$people = array(
array(
'name' => 'Kalle', 'salt' => 856412),
array(
'name' => 'Pierre', 'salt' => 215863)
);

for(
$i = 0; $i < count($people); ++$i) {
$people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

Горниот код може да биде бавен, бидејќи големината на низата се добива при секоја итерација. Бидејќи големината никогаш не се менува, циклусот може лесно да се оптимизира со користење на средна променлива за складирање на големината наместо повторно повикување count():

<?php
$people
= array(
array(
'name' => 'Kalle', 'salt' => 856412),
array(
'name' => 'Pierre', 'salt' => 215863)
);

for(
$i = 0, $size = count($people); $i < $size; ++$i) {
$people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

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

matthiaz
пред 14 години
Looping through letters is possible. I'm amazed at how few people know that.

for($col = 'R'; $col != 'AD'; $col++) {
    echo $col.' ';
}

returns: R S T U V W X Y Z AA AB AC

Take note that you can't use $col < 'AD'. It only works with !=
Very convenient when working with excel columns.
nzamani na cyberworldz dot de
figroc at gmail dot com
The point about the speed in loops is, that the middle and the last expression are executed EVERY time it loops.
So you should try to take everything that doesn't change out of the loop.
Often you use a function to check the maximum of times it should loop. Like here:

<?php
for ($i = 0; $i <= somewhat_calcMax(); $i++) {
  somewhat_doSomethingWith($i);
}
?>

Faster would be:

<?php
$maxI = somewhat_calcMax();
for ($i = 0; $i <= $maxI; $i++) {
  somewhat_doSomethingWith($i);
}
?>

And here a little trick:

<?php
$maxI = somewhat_calcMax();
for ($i = 0; $i <= $maxI; somewhat_doSomethingWith($i++)) ;
?>

The $i gets changed after the copy for the function (post-increment).
На оваа страница

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

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

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

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

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