Прибавить ко всем значениям массива php

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

A simple trick that can help you to guess what diff/intersect or sort function does by name.

[suffix] assoc — additional index check. Compares both value and index.

Example: array_diff_assoc, array_intersect_assoc.

[suffix] key — index only check. Ignores value of array, compares only indexes.

Example: array_diff_key, array_intersect_key.

[suffix] **empty** — no «key» or «assoc» word in suffix. Compares values only. Ignores indexes of array.

Example: array_diff, array_intersect.

[prefix] u — will do comparison with user defined function. Letter u can be used twice in some functions (like array_udiff_uassoc), this means that you have to use 2 functions (one for value, one for index).

Example: array_udiff_uassoc, array_uintersect_assoc.

This also works with array sort functions:

[prefix] a — associative. Will preserve keys. [prefix] k — key sort. Will sort array by keys. [prefix] r — reverse. Will sort array in reverse order. [prefix] u — sort by user defined function (same as for diff/intersect).

Big arrays use a lot of memory possibly resulting in memory limit errors. You can reduce memory usage on your script by destroying them as soon as you´re done with them. I was able to get over a few megabytes of memory by simply destroying some variables I didn´t use anymore.
You can view the memory usage/gain by using the funcion memory_get_usage(). Hope this helps!

I need to take an element from the Array and change its position within the Array by moving the rest of the elements as required.
This is the function that does it. The first parameter is the working Array. The second is the position of the element to move and the third is the position where to move the element.
The function returns the modified Array.
function array_move_elem ( $array , $from , $to ) if ( $from == $to ) < return $array ; >
$c = count ( $array );
if (( $c > $from ) and ( $c > $to )) if ( $from < $to ) $f = $array [ $from ];
for ( $i = $from ; $i < $to ; $i ++) $array [ $i ] = $array [ $i + 1 ];
>
$array [ $to ] = $f ;
> else $f = $array [ $from ];
for ( $i = $from ; $i > $to ; $i —) $array [ $i ] = $array [ $i — 1 ];
>
$array [ $to ] = $f ;
>

?>
Examples:
$array = array( ‘Cero’ , ‘Uno’ , ‘Dos’ , ‘Tres’ , ‘Cuatro’ , ‘Cinco’ , ‘Seis’ , ‘Siete’ , ‘Ocho’ , ‘Nueve’ , ‘Diez’ );
$array = array_move_elem ( $array , 3 , 5 ); // Move element in position 3 to position 5.
print_r ( $array );

$array = array_move_elem ( $array , 5 , 3 ); // Move element in position 5 to position 3, leaving array as it was. 😉
print_r ( $array );

?>
Return:
Array ( [ 0 ] => Cero [ 1 ] => Uno [ 2 ] => Dos [ 3 ] => Cuatro [ 4 ] => Cinco [ 5 ] => Tres [ 6 ] => Seis [ 7 ] => Siete [ 8 ] => Ocho [ 9 ] => Nueve [ 10 ] => Diez )
Array ( [ 0 ] => Cero [ 1 ] => Uno [ 2 ] => Dos [ 3 ] => Tres [ 4 ] => Cuatro [ 5 ] => Cinco [ 6 ] => Seis [ 7 ] => Siete [ 8 ] => Ocho [ 9 ] => Nueve [ 10 ] => Diez )
?>

Updated code of ‘indioeuropeo’ with option to input string-based keys.

FUNCTION:
function array_move_elem ( $array , $from , $to ) // return if non-numeric couldn’t be found or from=to
if(! is_numeric ( $from )) if( array_search ( $from , array_keys ( $array ))!== FALSE ) $from = array_search ( $from , array_keys ( $array ));
>else return $array ;
>
>
$array_numeric_keys = array();
foreach( $array as $k => $v ) $array_numeric_keys [] = $k ;
>
if ( $from == $to ) < return $array ; >
$c = count ( $array_numeric_keys );
if (( $c > $from ) and ( $c > $to )) if ( $from < $to ) $f = $array_numeric_keys [ $from ];
for ( $i = $from ; $i < $to ; $i ++) $array_numeric_keys [ $i ] = $array_numeric_keys [ $i + 1 ];
>
$array_numeric_keys [ $to ] = $f ;
> else $f = $array_numeric_keys [ $from ];
for ( $i = $from ; $i > $to ; $i —) $array_numeric_keys [ $i ] = $array_numeric_keys [ $i — 1 ];
>
$array_numeric_keys [ $to ] = $f ;
>

>
$array_new = array();
foreach( $array_numeric_keys as $v ) $array_new [ $v ] = $array [ $v ];
>
return $array_new ;
>
?>

Here is a function to find out the maximum depth of a multidimensional array.

// return depth of given array
// if Array is a string ArrayDepth() will return 0
// usage: int ArrayDepth(array Array)

function ArrayDepth ( $Array , $DepthCount =- 1 , $DepthArray =array()) $DepthCount ++;
if ( is_array ( $Array ))
foreach ( $Array as $Key => $Value )
$DepthArray []= ArrayDepth ( $Value , $DepthCount );
else
return $DepthCount ;
foreach( $DepthArray as $Value )
$Depth = $Value > $Depth ? $Value : $Depth ;
return $Depth ;
>
?>

While PHP has well over three-score array functions, array_rotate is strangely missing as of PHP 5.3. Searching online offered several solutions, but the ones I found have defects such as inefficiently looping through the array or ignoring keys.

The following array_rotate() function uses array_merge and array_shift to reliably rotate an array forwards or backwards, preserving keys. If you know you can trust your $array to be an array and $shift to be between 0 and the length of your array, you can skip the function definition and use just the return expression in your code.

function array_rotate ( $array , $shift ) if(! is_array ( $array ) || ! is_numeric ( $shift )) if(! is_array ( $array )) error_log ( __FUNCTION__ . ‘ expects first argument to be array; ‘ . gettype ( $array ). ‘ received.’ );
if(! is_numeric ( $shift )) error_log ( __FUNCTION__ . ‘ expects second argument to be numeric; ‘ . gettype ( $shift ). » ` $shift ` received.» );
return $array ;
>
$shift %= count ( $array ); //we won’t try to shift more than one array length
if( $shift < 0 ) $shift += count ( $array ); //handle negative shifts as positive
return array_merge ( array_slice ( $array , $shift , NULL , true ), array_slice ( $array , 0 , $shift , true ));
>
?>
A few simple tests:
$array =array( «foo» => 1 , «bar» => 2 , «baz» => 3 , 4 , 5 );

print_r ( array_rotate ( $array , 2 ));
print_r ( array_rotate ( $array , — 2 ));
print_r ( array_rotate ( $array , count ( $array )));
print_r ( array_rotate ( $array , «4» ));
print_r ( array_rotate ( $array , — 9 ));
?>

Short function for making a recursive array copy while cloning objects on the way.

function arrayCopy ( array $array ) $result = array();
foreach( $array as $key => $val ) if( is_array ( $val ) ) $result [ $key ] = arrayCopy ( $val );
> elseif ( is_object ( $val ) ) $result [ $key ] = clone $val ;
> else $result [ $key ] = $val ;
>
>
return $result ;
>
?>

/*to change an index without rewriting the whole table and leave at the same place.
*/
function change_index (& $tableau , $old_key , $new_key ) $changed = FALSE ;
$temp = 0 ;
foreach ( $tableau as $key => $value ) switch ( $changed ) case FALSE :
//creates the new key and deletes the old
if ( $key == $old_key ) $tableau [ $new_key ] = $tableau [ $old_key ];
unset( $tableau [ $old_key ]);
$changed = TRUE ;
>
break;

case TRUE :
//moves following keys
if ( $key != $new_key ) $temp = $tableau [ $key ];
unset( $tableau [ $key ]);
$tableau [ $key ] = $temp ;
break;
>
else < $changed = FALSE ;>//stop
>
>
array_values ( $tableau ); //free_memory
>

//Result :
$tableau = array( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 );
$res = print_r ( $tableau , TRUE );
$longueur = strlen ( $res ) — 1 ;
echo «Old array :\n» . substr ( $res , 8 , $longueur ) . «\n» ;

change_index ( $tableau , 2 , ‘number 2’ );
$res = print_r ( $tableau , TRUE );
$longueur = strlen ( $res ) — 10 ;
echo «New array :\n» . substr ( $res , 8 , $longueur ) . «\n» ;

Источник

Как прибавить ко всем элементам массива одно число?

У меня есть таблица units с информацией о сотрудниках. Там есть поле age — возраст всех сотрудников.
Я сделал кнопку, и хочу, чтобы при нажатии на нее возраст у всех прибавлялся на единицу.

form action="new.php" method="POST"> input type="submit" value="Новый год"> /form>
1 2 3 4 5 6 7 8 9 10 11 12 13 14
function get_peoples($database) { $sql2 = "SELECT * FROM `units`"; $result2 = mysqli_query($database, $sql2); $peoples = mysqli_fetch_all($result2, MYSQLI_ASSOC); return $peoples; } $info = get_info($database); foreach ($info as $age) { mysqli_query($database, "UPDATE `units` SET `age` = '$age['age+1']>'"); } header('location: '.$_SERVER['HTTP_REFERER']); exit;

Но в итоге у всех сотрудников возраст превращается в 1. В чем может быть проблемс?

Добавлено через 6 минут
В итоге ничего не меняется.

Ко всем нулевым элементам массива прибавить число n, ко всем отрицательным элементам прибавить число k
Дан массив целых чисел в диапазоне от -10000 до 10000. Ко всем нулевым элементам массива прибавить.

Прибавить ко всем элементам массива число вводимое с клавиатуры
Одномерный масссив. Прибавить ко всем элементам число вводимое с клавиатуры. Очередь заполнена.

Ко всем положительным элементам массива прибавить первый элемент, а из нулевых вычесть заданное число
Всем привет. Ребят помогите срочно. Не могу написать простенькую программу. Дан массив M(10). Ко.

Массив: Ко всем нулевым элементам прибавить N, из всех положительных — вычесть А, ко всем отрицательным — прибавить B.
Дан массив x(10). Ко всем нулевым элементам прибавить N, из всех положительных элементов вычесть А.

Такое ощущение, что вы учебники с конца читаете

Добавлено через 8 минут
Ключ ‘age+1’ — это перл! Требую предъявить справку о психическом здоровье!

markiz462, Зачем такая кнопка? Не проще хранить в Базе данных дату рождения сотрудников, а возраст уже вычислять на php отталкиваясь от текущей даты?

Прибавить ко всем элементам очереди число, вводимое с клавиатуры
1) Дан стек, заполненный элементами типа typeelem, удалить из стека предпоследний элемент.

Ко всем нулевым элементам массива прибавить n
Ко всем нулевым элементам прибавить n, из всех положительных элементов вычесть a, ко всем.

Ко всем нулевым элементам массива прибавить n
Ко всем нулевым элементам прибавить n, из все положительных элементов вычесть a, ко всем.

Ко всем элементам одномерного массива прибавить первый
Дан одномерный массив. Нужно ко всем его элементам прибавить первый . Например : ввод — 1 2 3 4 .

Прибавить ко всем элементам одномерного числового массива максимальный элемент
Прибавить ко всем элементам одномерного числового массива максимальный элемент. Пожалуйста.

Задача на КР580 (Прибавить 4 ко всем элементам массива, меньшим, чем 4)
Добрый день. В университете изучаем дисциплину Вычислительные машины и системы и необходимо.

Источник

Добавить одно слово ко всем значениям массива

Вопрос какой функцией это можно сделать?
открыл справочник и не вижу.

Во всем заданном тексте заменить одно слово другим
Вот две задачки,что-то вникнуть не могу,вроде что-то собрал но никак.. Вот первая: 1)Во всем.

Макросы в Notepad++, Удалить одно слово во всём документе
У меня есть документ и мне надо удалить одно слово во всём документе. Как это сделать? Может есть.

Как присвоить всем значениям массива одинаковые значения?
например, имеется int int_array = new int; // очевидный метод: for (int i = 0; i <.

Добавить новый элемент массива, если его значение не равно значениям элементов заданного массива А(I)
Добавить новый элемент массива, если его значение не равно значениям элементов заданного массива.

Эксперт JSЭксперт HTML/CSSЭксперт PHP

Лучший ответ

Сообщение было отмечено nikki4 как решение

Решение

$arr = ["имя файла1","имя файла2","имя файла3"]; $s = array_map(function ($v){ return __DIR__.'\\'.$v; },$arr); print_r($s);

Любопытно.
Много пытаюсь разобраться — ничего не получается.
Спрашиваю на форуме. Как тут же сам нахожу решение ))
вот напрмер попробовал в следующем коде пойти наоборот, не массив приводить, а просто сделать прибавку к следующей функции

Присвоить всем элементам массива одно значение разом
создаю массив bool bool Myarray=new bool; как сделать так,чтоб Myarray =? на с++.

Как выбрать одно слово из массива С++
Программа должна выбирать с файла в массив только одно слово после десятого пробела. А у меня.

Применение хранимой процедуры ко всем значениям столбца
Всем здравствуйте! Проблема такая: Есть хранимая процедура, которой передается значение ID.

Необходимос пропарсить файл в массив символов и рандомно выдавать одно слово из массива
Приветствую, появилась задачка. Необходимо пропарсить txt файл, преобразовать его в char массив.

Источник

Читайте также:  Json web signature php
Оцените статью