range

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

rangeBelli bir eleman aralığını içeren bir dizi oluşturur

Açıklama

range(string|int|float $başlangıç, string|int|float $bitiş, int|float $adım = 1): array

Aralığı belirtilen elemanları içeren bir dizi oluşturur.

başlangıç ve bitiş birer string ve adım bir int değer ise üretilen dizi baytlardan oluşur. Aksi takdirde sayılardan oluşur.

başlangıç küçük veya eşit bitiş ise dizi artan sıradadır. Aksi takdirde azalan sıradadır.

Bağımsız Değişkenler

başlangıç

Aralığın ilk değeri.

bitiş

Aralığın olası son değeri.

adım

Üretilen dizinin, dizinin değerleri arasında ne kadar ilerlediğini gösterir.

adım negatif ise dizi azalan sırada olur.

adım ondalık parçası olayan bir float değer ise int olarak yorumlanır.

Dönen Değerler

Değerleri arasında adım fark olan başlangıç ve bitiş dahil ikisi arasındaki elemanlardan oluşan bir dizi döner.

Döndürülen dizinin son elemanı, adım değerine bağlı olarak bitiş veya dizinin bir önceki elemanıdır.

başlangıç ve bitiş birer string ve adım bir int değer ise üretilen dizi baytlardan oluşur. Bunlar genel olarak ASCII karakterlerdir.

başlangıç, bitiş, ve adım değerlerinden en az birinin float olması durumunda dizi float değerler içerir.

Aksi takdirde, dizi int değerler içerir.

Hatalar/İstisnalar

  • adım 0 ise, ValueError oluşur.
  • başlangıç, bitiş, veya adım is_finite() değilse, ValueError oluşur.
  • adım negatif ise ancak üretilen dizi artansa, (örn, $başlangıç <= $bitiş), ValueError oluşur.
  • başlangıç veya bitiş boş dige '' ise, bir E_WARNING yayımlanır ve boş dizge 0 olarak yorumlanır.
  • başlangıç veya bitiş birden fazla baytı olan sayısal olmayan bir dizge ise bir E_WARNING yayımlanır.
  • başlangıç veya bitiş diğer sınır değeri bir sayı olduğundan dolaylı olarak int türüne dönüştürülen bir dizge ise bir E_WARNING yayımlanır.
  • adım float türünde ve başlangıç ve bitiş sayısal olmayan bir dizge ise bir E_WARNING yayımlanır.

Sürüm Bilgisi

Sürüm: Açıklama
8.3.0 başlangıç ve bitiş ikisi de dizge ise range() işlevi artık daima bayt dizisi üretiyor. Evvelce bunlaran biri sayısal bir dizge ise diğeri örtük olarak int türüne dönüştürülürdü.
8.3.0 başlangıç veya bitiş değerlerinin birinin bir sayı olmasından dolayı dizge olanının örtük olarak int türüne dönüştürülmesi artık bir E_WARNING yayınlamasına sebep oluyor.
8.3.0 başlangıç veya bitiş birden fazla bayt içeren sayısal olmayan bir dizge ise artık bir E_WARNING yayınlanıyor.
8.3.0 başlangıç veya bitiş boş dizge ise artık bir E_WARNING yayınlanıyor.
8.3.0 adım ondalık kısmı olmayan bir float değer içeriyorsa artık bir int olarak yorumlanıyor.
8.3.0 Artan dizi üretilirken adım negatifse artık ValueError oluşuyor. range.
8.3.0 adım sonlu değilse artık ValueError oluşuyor.
8.3.0 başlangıç veya bitiş değeri array, object veya resource türündeyse artık TypeError oluşuyor. Evvelce örtük olarak int değere dönüştürülürdü.

Örnekler

Örnek 1 - range() örnekleri

<?php

echo implode(', ', range(0, 12)), PHP_EOL;

echo
implode(', ', range(0, 100, 10)), PHP_EOL;

echo
implode(', ', range('a', 'i')), PHP_EOL;

echo
implode(', ', range('c', 'a')), PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
a, b, c, d, e, f, g, h, i
c, b, a
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Ayrıca Bakınız