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

Зголемување и намалување

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

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

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

language.operators.increment.php

Оператори за зголемување/намалување

PHP поддржува претходни и постфиксни оператори за зголемување и намалување. Овие унитарни оператори овозможуваат вредноста да се зголеми или намали за еден.

Оператори за зголемување/намалување
Пример Име Ефект
++$a Pre-increment Зголемува $a за еден, потоа враќа $a.
$a++ Post-increment Патеката до PHP скриптата што треба да се провери. $a, потоа зголемува $a за еден.
--$a Pre-decrement Намалува $a за еден, потоа враќа $a.
$a-- Post-decrement Патеката до PHP скриптата што треба да се провери. $a, потоа намалува $a за еден.

Пример #1 Примери за зголемување/намалување

<?php
echo 'Post-increment:', PHP_EOL;
$a = 5;
var_dump($a++);
var_dump($a);

echo
'Pre-increment:', PHP_EOL;
$a = 5;
var_dump(++$a);
var_dump($a);

echo
'Post-decrement:', PHP_EOL;
$a = 5;
var_dump($a--);
var_dump($a);

echo
'Pre-decrement:', PHP_EOL;
$a = 5;
var_dump(--$a);
var_dump($a);
?>

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

Post-increment:
int(5)
int(6)
Pre-increment:
int(6)
int(6)
Post-decrement:
int(5)
int(4)
Pre-decrement:
int(4)
int(4)
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Операторите за зголемување и намалување немаат ефект врз вредностите од типот bool. А E_WARNING се емитува од PHP 8.3.0, бидејќи ова имплицитно ќе ја претвори вредноста во int во иднина.

Операторот за намалување нема ефект врз вредностите од типот null. А E_WARNING се емитува од PHP 8.3.0, бидејќи ова имплицитно ќе ја претвори вредноста во int во иднина.

Операторот за намалување нема ефект врз не- нумерички стринг. А E_WARNING се емитува од PHP 8.3.0, бидејќи а TypeError ќе биде фрлено во иднина.

Забелешка:

Внатрешните објекти што поддржуваат преоптоварување на собирање и/или одземање, исто така можат да бидат зголемени и/или намалени. Еден таков внатрешен објект е GMP.

PERL функција за зголемување на стринг

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

Оваа функција е меко отпишана од PHP 8.3.0. Функцијата str_increment() треба да се користи наместо тоа.

Можно е да се зголеми не- нумерички стринг во PHP. Стрингот мора да биде алфанумерички ASCII стринг. Кој ги зголемува буквите до следната буква, кога ќе се достигне буквата Z зголемувањето се пренесува на вредноста од левата страна. На пример, $a = 'Z'; $a++; turns $a into 'AA'.

Пример #2 Пример за зголемување на PERL стринг

<?php
echo '== Alphabetic strings ==' . PHP_EOL;
$s = 'W';
for (
$n=0; $n<6; $n++) {
echo ++
$s . PHP_EOL;
}
// Alphanumeric strings behave differently
echo '== Alphanumeric strings ==' . PHP_EOL;
$d = 'A8';
for (
$n=0; $n<6; $n++) {
echo ++
$d . PHP_EOL;
}
$d = 'A08';
for (
$n=0; $n<6; $n++) {
echo ++
$d . PHP_EOL;
}
?>

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

== Alphabetic strings ==
X
Y
Z
AA
AB
AC
== Alphanumeric strings ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Ако алфанумеричкиот стринг може да се толкува како нумерички стринг ќе биде префрлен на int or float. Ова е особено проблем со стрингови кои изгледаат како броеви со пловечка запирка напишани во експоненцијална нотација. Функцијата str_increment() не страда од овие имплицитни префрлања на тип.

Пример #3 Алфанумерички стринг префрлен во float

<?php
$s
= "5d9";
var_dump(++$s);
var_dump(++$s);
?>

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

string(3) "5e0"
float(6)

Ова е затоа што вредноста "5e0" се толкува како float и се префрла на вредноста 5.0 пред да биде зголемена.

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

хартмут на php точка нет
пред 13 години
Note that 

$a="9D9"; var_dump(++$a);   => string(3) "9E0"

but counting onwards from there 

$a="9E0"; var_dump(++$a);   => float(10)

this is due to "9E0" being interpreted as a string representation of the float constant 9E0 (or 9e0), and thus evalutes to 9 * 10^0 = 9 (in a float context)
На оваа страница

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

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

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

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

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