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

each

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

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

Референца за `function.each.php` со подобрена типографија и навигација.

function.each.php

each

(PHP 4, PHP 5, PHP 7)

eachВраќа моментален клуч и вредност од низа и го поместува курсорот на низата

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

Оваа функција е DEPRECATED Оваа функција е REMOVED од PHP 8.0.0. Силно се обесхрабрува потпирањето на оваа функција.

= NULL

each(array|object &$array): array

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

По each() откако ќе се изврши, курсорот на низата ќе биде поставен на следниот елемент од низата, или надвор од последниот елемент ако стигне до крајот на низата. Мора да користите reset() ако сакате повторно да ја поминете низата користејќи each.

Параметри

array

Влезната низа.

Вратени вредности

Враќа моментален клуч и вредност од низата array. Овој пар се враќа во четириелементна низа, со клучеви 0, 1, keyПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во value. Елементите 0 and key ги содржат имињата на клучевите на елементите од низата, а 1 and value ги содржат податоците.

Ако внатрешниот покажувач за низата покажува надвор од крајот на содржината на низата, each() returns false.

Примери

Пример #1 each() examples

<?php
$foo
= array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar сега ја содржи следната комбинација клуч/вредност:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo
= array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar сега ја содржи следната комбинација клуч/вредност:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() обично се користи во комбинација со list() за поминување низ низа, еве пример:

Пример #2 Поминување низ низа со each()

<?php
$fruit
= array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list(
$key, $val) = each($fruit)) {
echo
"$key => $val\n";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

a => apple
b => banana
c => cranberry
Безбедност: стандардниот сет на знаци

Бидејќи доделувањето на низа на друга променлива го ресетира покажувачот на оригиналната низа, нашиот пример погоре би предизвикал бесконечна јамка ако доделивме $fruit на друга променлива внатре во јамката.

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

each() исто така ќе прифати објекти, но може да врати неочекувани резултати. Затоа не се препорачува поминување низ својствата на објектот со each().

Види Исто така

  • key() - Преземете клуч од низа
  • list() - Додели променливи како да се низа
  • current() - Врати ја тековната ставка во низата
  • reset() - Поставете го внатрешниот покажувач на низата на нејзиниот прв елемент
  • next() - Помести го внатрешниот покажувач на низата
  • prev() - Премотајте го внатрешниот покажувач на низата
  • foreach
  • Итерација на објекти

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

janhsh
3 години пред
Following the obsolescence of the each() function, here is a way to correct your source codes: 

If you use each() in a while loop like this: 

   while (list($Key,$Value)=@each($Array)){
   ....
   }

you have to replace with

    foreach ($Array  as $Key => $Value){        
    ....
    }

In the same minds.

   while (list(,$Value)=@each($Array)){
   ....
   }

will become

    foreach ($Array  as $Value){        
    ....
    }
phpcoder на gmail dot com
пред 6 години
each was deprecated because it exposed too much of the internal implementation details, blocking language development. ("We can't do X because it would break each().")

https://wiki.php.net/rfc/deprecations_php_7_2#each

If you want an array pointer, maintain it yourself. Probably a good idea anyway, because then it's visible in the code.
sjoerd-php at linuxonly dot nl
19 години пред
Use foreach instead of while, list and each. Foreach is:
- easier to read
- faster
- not influenced by the array pointer, so it does not need reset().

It works like this:
<?php
$arr = array('foo', 'bar');
foreach ($arr as $value) {
    echo "The value is $value.";
}

$arr = array('key' => 'value', 'foo' => 'bar');
foreach ($arr as $key => $value) {
    echo "Key: $key, value: $value";
}
?>
man13or at hotmail dot fr
пред 6 години
Hello, since each() and list() often "betray" very old applications, I simply recommend not to use them anymore.

If you want to assign variables based on an associative array,
Replace this:

while(list ($key, $value) = each ($my_array)) {
    $$key = $value;
}

with this:

foreach ($my_array as $key => $value) {
    $$key = $value;
}
Хенк Полеј
пред 6 години
Rector has an automated fix ('ListEachRector') to migrate away from `each()`:

https://github.com/rectorphp/rector/blob/master/docs/AllRectorsOverview.md#listeachrector

If you look at the code example you'll see this is even quite simple to do by hand.
На оваа страница

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

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

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

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

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