Задать диапазон значений php

range

Последовательность завершается при достижении end значения.

Если задано значение step , оно будет использоваться как приращение (или уменьшение) между элементами в последовательности. step не должен быть равен 0 и не должен превышать указанный диапазон. Если не указано, по умолчанию step будет равен 1.

Return Values

Возвращает массив элементов от start до end включительно.

Examples

Пример # 1 Диапазон () примеры

 // array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) foreach (range(0, 12) as $number) < echo $number; > echo "\n"; // The step parameter // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) foreach (range(0, 100, 10) as $number) < echo $number; > echo "\n"; // Usage of character sequences // array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'); foreach (range('a', 'i') as $letter) < echo $letter; > echo "\n"; // array('c', 'b', 'a'); foreach (range('c', 'a') as $letter) < echo $letter; > ?>

Notes

Note:

Значения последовательности символов ограничены длиной одного.Если длина больше единицы,то используется только первый символ.

See Also

PHP 8.2

(PHP 7,8)random_bytes Генерирует криптографически безопасный псевдослучайный Генерирует строку произвольной длины криптографически случайных байтов,которые подходят для

(PHP 7,8)random_int Генерирует криптографически безопасные псевдослучайные целые числа Генерирует криптографические случайные целые числа,которые подходят для использования в тех случаях,когда

(PECL rar 3.0.0)rar_wrapper_cache_stats hits and misses for the URL Эта функция в настоящее время не документирована;доступен только список ее аргументов.

(PHP 4,5,7,8)rawurldecode URL-кодированные строки Возвращает строку,в которой последовательности со знаками процента,за которыми следуют две шестнадцатеричные цифры,были заменены.

Источник

range

range() возвращает массив элементов с low по high, включительно. Если low > high, последовательность будет убывающей.

New parameter: Дополнительный параметр step был добавлен в PHP 5.0.0.

Если указан параметр step, он будет использоваться как инкремент между элементами последовательности. step должен быть положительным числом. Если step не указан, он принимает значение по умолчанию 1.

Пример 1. Примеры использования php функции range()
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) foreach (range(0, 12) as $number) < echo $number; >// Параметр step был добавлен в 5.0.0 // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) foreach (range(0, 100, 10) as $number) < echo $number; >// Использование последовательности знаков было добавлено в версии 4.1.0 // array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'); foreach (range('a', 'i') as $letter) < echo $letter; >// array('c', 'b', 'a'); foreach (range('c', 'a') as $letter)

Замечание: До появления PHP 4.1.0, range() создавала только массивы, содержащие диапазон чисел в порядке возрастания. Поддержка последовательностей знаков и создания диапазона в порядке убывания была добавлена в версии 4.1.0. Диапазон знаков можно задать только при помощи строки из одного знака. Если длина такой строки будет более одного знака, будет использован первый знак.

В PHP версий с 4.1.0 по 4.3.2, range() рассматривал числовые строки именно как строки, а не числа. Вместо них использовалась последовательность знаков. Например, «4242» трактовалось «4».

Источник

range

Конечное значение, которым заканчивается последовательность.

Если указан параметр step , то он будет использоваться как инкремент (или декремент) между элементами последовательности. Параметр step не должен быть равен 0 и не должен выходить за пределы указанного диапазона. Если step не указан, он принимает значение по умолчанию, равное 1 .

Возвращаемые значения

Возвращает массив элементов от start до end , включительно.

Примеры

Пример #1 Примеры использования range()

// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach ( range ( 0 , 12 ) as $number ) echo $number ;
>

// Параметр step
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach ( range ( 0 , 100 , 10 ) as $number ) echo $number ;
>

// Использование последовательности знаков
// array(‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’);
foreach ( range ( ‘a’ , ‘i’ ) as $letter ) echo $letter ;
>

// array(‘c’, ‘b’, ‘a’);
foreach ( range ( ‘c’ , ‘a’ ) as $letter ) echo $letter ;
>
?>

Примечания

Замечание:

Значения для последовательности знаков ограничены длиной в один символ. Если их длина больше одного, то только первый символ используется.

Смотрите также

User Contributed Notes 29 notes

To create a range array like

combine two range arrays using array_combine:

So with the introduction of single-character ranges to the range() function, the internal function tries to be «smart», and (I am inferring from behavior here) apparently checks the type of the incoming values. If one is numeric, including numeric string, then the other is treated as numeric; if it is a non-numeric string, it is treated as zero.

If you pass in a numeric string in such a way that is is forced to be recognized as type string and not type numeric, range() will function quite differently.

echo implode ( «» , range ( 9 , «Q» ));
// prints 9876543210

echo implode ( «» , range ( «9 » , «Q» )); //space after the 9
// prints 9:;?@ABCDEFGHIJKLMNOPQ

echo implode ( «» , range ( «q» , «9 » ));
// prints qponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@ ?> =?>

I wouldn’t call this a bug, because IMO it is even more useful than the stock usage of the function.

The function «range» is very useful to get an array of characters as range(‘C’,’R’) does.

At work, I had to extend the function range($a,$b) to work in this special case: with two uppercase strings $a and $b, it should return all the possible strings between $a and $b.
This could be used for example to get the excel column indexes.
e.g. array( ‘A’ , ‘B’ , ‘C’ . ‘Z’ , ‘AA’ , ‘AB’ , ‘AC’ , ‘AD’ ) ?>

So I wrote the function getrange($min,$max) that exactly does this.

function getcolumnrange ( $min , $max ) $pointer = strtoupper ( $min );
$output =array();
while( positionalcomparison ( $pointer , strtoupper ( $max )) <= 0 )array_push ( $output , $pointer );
$pointer ++;
>
return $output ;
>

function positionalcomparison ( $a , $b ) $a1 = stringtointvalue ( $a ); $b1 = stringtointvalue ( $b );
if( $a1 > $b1 )return 1 ;
else if( $a1 < $b1 )return - 1 ;
else return 0 ;
>

/*
* e.g. A=1 — B=2 — Z=26 — AA=27 — CZ=104 — DA=105 — ZZ=702 — AAA=703
*/
function stringtointvalue ( $str ) $amount = 0 ;
$strarra = array_reverse ( str_split ( $str ));

for( $i = 0 ; $i < strlen ( $str ); $i ++)$amount +=( ord ( $strarra [ $i ])- 64 )* pow ( 26 , $i );
>
return $amount ;
>
?>

The function will generate an array of integers even if your numerical parameters are enclosed in quotes.
var_dump ( range ( ‘1’ , ‘2’ ) ); // outputs array(2) < [0]=>int(1) [1]=> int(2) >
?>

An easy way to get an array of strings is to map strval() to the range:
var_dump ( array_map ( ‘strval’ , range ( ‘1’ , ‘2’ )) ); // outputs array(2) < [0]=>string(1) «1» [1]=> string(1) «2» >
?>

You might expect range($n, $n-1) to be an empty array (as in e.g. Python) but actually PHP will assume a step of -1 if start is larger than end.

function natural_prime_numbers (array $range , bool $print_info = false ) : array $start_time = time ();
$primes_numbers = array();
$print = » ;
$count_range = count ( $range );
foreach( $range as $number ) $values_division_number = array();
if( $number === 0 || $number === 1 || ! is_int ( $number )) < // eliminate 0, 1 and other no integer
continue;
>
if( $number != 2 && $number % 2 === 0 ) < // eliminate 2 and pairs numbers
continue;
>
for( $i = 1 ; $i <= $number ; $i ++)$resultado_divisao = $number / $i ;
$values_division_number [ $i ] = $resultado_divisao ;

if( $count_range $print .= PHP_EOL ;
$info = ‘The number ‘ . $number . ‘ divided by the number ‘ . $i . ‘ is equal to: ‘ .( $number / $i );
$print .= $info ;
if( $i === $number ) $print .= PHP_EOL ;
>
>

$values_division_number = array_values ( $values_division_number ); // reindex array

// here we want only array with 2 indexes with the values 1 and own number (rule to a natural prime number)
if( count ( $values_division_number ) === 2 && $values_division_number [ 0 ] === $number && $values_division_number [ 1 ] === 1 ) $primes_numbers [ $number ] = $number ;
>

>
>
return array(
‘length_prime_numbers’ => count ( $primes_numbers ),
‘prime_numbers’ => array_values ( $primes_numbers ),
‘print’ => $print ,
‘total_time_processing’ => ( time () — $start_time ). ‘ seconds.’ ,
);
>
var_dump ( natural_prime_numbers ( range ( 0 , 11 ))); // here the range() function 😉

// Result:
// array (size=3)
// ‘length_prime_numbers’ => int 5
// ‘prime_numbers’ =>
// array (size=5)
// 0 => int 2
// 1 => int 3
// 2 => int 5
// 3 => int 7
// 4 => int 11
// ‘print’ => string ‘
// O número 2 dividido pelo número 1 é igual a: 2
// O número 2 dividido pelo número 2 é igual a: 1

// O número 3 dividido pelo número 1 é igual a: 3
// O número 3 dividido pelo número 2 é igual a: 1.5
// O número 3 dividido pelo número 3 é igual a: 1

// O número 5 dividido pelo número 1 é igual a: 5
// O número 5 dividido pelo número 2 é igual a: 2.5
// O número 5 dividido pelo número 3 é igual a: 1.6666666666667
// O número 5 dividido pelo número 4 é igual a: 1.25
// O número 5 dividido pelo ‘.

// **************************** //
//
// * Remember that the function is recursive, that is: a range of 5000 takes more than 1 minute on a processor Intel® Core™ i5-8250U (3.40 GHz).
//
// **************************** //
?>

Источник

PHP range() Function

Create an array containing a range of elements from «0» to «5»:

Definition and Usage

The range() function creates an array containing a range of elements.

This function returns an array of elements from low to high.

Note: If the low parameter is higher than the high parameter, the range array will be from high to low.

Syntax

Parameter Values

Parameter Description
low Required. Specifies the lowest value of the array
high Required. Specifies the highest value of the array
step Optional. Specifies the increment used in the range. Default is 1

Technical Details

Return Value: Returns an array of elements from low to high
PHP Version: 4+
PHP Changelog: The step parameter was added in PHP 5.0.

In PHP versions 4.1.0 through 4.3.2, this function sees numeric strings as strings and not integers. The numeric strings will be used for character sequences, e.g., «5252» is treated as «5».

More Examples

Example

Return an array of elements from «0» to «50» and increment by 10.

Example

Using letters — return an array of elements from «a» to «d»

Источник

Читайте также:  display
Оцените статью