Смекни!
smekni.com

Учебник php (стр. 7 из 26)

$arr = array(12, 10, 4);$result = array_pad($arr, 5, 0);// $result = array(12, 10, 4, 0, 0);$result = array_pad($arr, -7, -1);// $result = array(-1, -1, -1, -1, 12, 10, 4)$result = array_pad($arr, 2, "noop");// не добавит

array_pop
Извлекает и удаляет последние элементы массива.

Синтаксис :
mixed array_pop(array arr);

Функция array_pop() снимает элемент с "вершины" стека (то есть берет последний элемент списка) и возвращает его, удалив после этого его из arr. С помощью этой функции мы можем строить конструкции, напоминающие стек. Если массив arr был пуст, функция возвращает пустую строку.

$stack = array("orange", "apple", "raspberry");$fruits = array_pop($stack);// $fruit = "raspberry"// $stack = array("orange", "apple")

array_push
Добавляет элементы в конец массива.

Синтаксис :
int array_push(array arr, mixed var1 [, mixed var2, ..])

Эта функция добавляет к массиву arr элементы var1,var2 и т.д. Она присваивает им числовые индексы - точно так же, как это происходит для стандартных []. Если вам нужно добавить всего один элемент, наверное, проще будет воспользоваться этим оператором:

array_push($Arr,1000); // вызываем функцию$Arr[]=100; // то же самое, но короче

Обратите внимание, что функция array_push() воспринимает массив, как стек, и добавляет элементы всегда в его конец.

array_shift
Извлекает и удаляет первый элемент массива.

Синтаксис :
mixed array_shift(array arr)

Эта функция извлекает первый элемент массива arr и возвращает его. Она сильно напоминает array_pop(), но только получает начальный, а не конечный элемент, а также производит довольно сильную "встряску" всего массива: ведь при извлечении первого элемента приходится корректировать все числовые индексы у всех оставшихся элементов, т.к. все последующие элементы массива сдвигаются на одну позицию вперед.

$ar = array("-v", "-f");$opt = array(_shift($arr);// теперь $arr = array("-f"), а $opt = "-v"

array_unshift
Добавляет элементы в начало массива.

Синтаксис :
int array_unshift(list arr, mixed var1 [,mixed var2, ...])

Функция очень похожа на array_push, но добавляет перечисленные элементы не в конец, а в начало массива. При этом порядок следования var1, var2 и т.д. остается тем же, т.е. элементы как бы "вдвигаются" в список слева. Новым элементам списка, как обычно, назначаются числовые индексы, начиная с 0; при этом все ключи старых элементов массива, которые также были числовыми, изменяются (чаще всего они увеличиваются на число вставляемых значений). Функция возвращает новый размер массива.

$A = array(10,"a"=>20,30);array_unshift($A,"!","?");// теперь $A===array(0=>"!", 1=>"?", 2=>10, a=>20, 3=>30)

array_unique
Создает массив только из уникальных значений.

Синтаксис :
array array_unique(array arr)

Функция array_unique() возвращает массив, составленный из всех уникальных значений массива arr вместе с их ключами, путем удаления всех дублирующих значений. В результирующий массив помещаются первые встретившиеся пары ключ=>значение. Индексы сохраняются.

$input = array("a" => "green", "red", "b" => "green", "blue", "red");$result = array_unique($input);// теперь $result===("a"=>"green", "red", "blue");

Переменные и массивы

list
Заносит элементы массива в переменные.

Синтаксис :
list() - языковая конструкция (наподобие array()). Она присваивает перечисленным переменным значения элементов массива, причем первой переменной присваивается первый элемент массива, второй переменной - второй элемент и т.д.

compact
Упаковывает в массив переменные из текущего контекста.

Синтаксис :
array compact(mixed varname1 [, mixed $varname2, ...])

Функция compact() упаковывает в массив переменные из текущего контекста (глобального или контекста функции), заданные своими именами в varname1, $varname2 и т.д. При этом в массиве образуются пары с ключами, равными содержимому varnameN, и значениями соответствующих переменных.
Число аргументов может быть неопределенное.
Если в аргументе указано имя несуществующей переменной, он пропускается. Действие этой функции противоположно функции extract().

$a="Test string";$b="Some text";$A=compact("a","b");// теперь $A===array("a"=>"Test string", "b"=>"Some text")

Почему же тогда параметры функции обозначены как mixed? Дело в том, что они могут быть не только строками, но и списками строк. В этом случае функция последнего перебирает все элементы этого списка, и упаковывает те переменные из текущего контекста, имена которых она встретила. Более того - эти списки могут, в свою очередь, также содержать списки строк, и т.д. Правда, последнее используется достаточно редко.

$a="Test";$b="Text";$c="CCC";$d="DDD";$List=array("b",array("c","d"));$A=compact("a",$List);// теперь $A===array("a"=>"Test", "b"=>"Text", "c"=>"CCC", "d"=>"DDD")

extract
экспорт элементов массива в переменные.

Синтаксис :
void extract(array arr [, int extract_type] [, string prefix])

Эта функция производит действия, прямо противоположные compact(). А именно, она получает в параметрах массив arr и превращает каждую его пару ключ=>значение в переменную текущего контекста.

Параметр extract_type предписывает, что делать, если в текущем контексте уже существует переменная с таким же именем, как очередной ключ в arr. Он может быть равен одной из констант, перечисленных в следующей таблице:


По умолчанию подразумевается EXTR_OVERWRITE, т.е. переменные перезаписываются.

// Сделать все переменные окружения глобальнымиextract($HTTP_ENV_VARS);// То же самое, но с префиксом E_extract($HTTP_ENV_VARS, EXTR_PREFIX_ALL, "E_");echo $E_COMSPEC; // Выводит переменную окружения COMSPEC

Параметр prefix имеет смысл указать только тогда, когда вы применяете режимы EXTR_PREFIX_SAME или EXTR_PREFIX_ALL.

Функции для работы с одиночными символами

chr
Возвращает один символ с определенным кодом.

Синтаксис :
string chr(int ascii)

Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.

<?// Сначало создаем массив того, что мы собираемся выводить,// не заботясь о форматировании (дизайне) информацииfor($i=0, $x=0; $x<16; $x++) { for($y=0; $y<16; $y++) { $Chars[$x][$y]=array($i,chr($i));$i++; }}// Теперь выводим накопленную информацию, используя идеологию// вставки участков кода в HTML-документ?> <table border=1 cellpadding=1 cellspacing=0><?for($y=0; $y<16; $y++) {?> <tr> <?for($x=0; $x<16; $x++) {?> <td> <?=$Chars[$x][$y][0]?>: <b><tt><?=$Chars[$x][$y][1]?></tt></b></td> <?}?> </tr><?}?></table>

ord
Возвращает ascii код символа.

Синтаксис :
int ord(string str)

Эта функция возвращает ASCII код первого символа строки str.
Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255.

Функции для работы с одиночными символами

chr
Возвращает один символ с определенным кодом.

Синтаксис :
string chr(int ascii)

Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.

<?// Сначало создаем массив того, что мы собираемся выводить,// не заботясь о форматировании (дизайне) информацииfor($i=0, $x=0; $x<16; $x++) { for($y=0; $y<16; $y++) { $Chars[$x][$y]=array($i,chr($i));$i++; }}// Теперь выводим накопленную информацию, используя идеологию// вставки участков кода в HTML-документ?> <table border=1 cellpadding=1 cellspacing=0><?for($y=0; $y<16; $y++) {?> <tr> <?for($x=0; $x<16; $x++) {?> <td> <?=$Chars[$x][$y][0]?>: <b><tt><?=$Chars[$x][$y][1]?></tt></b></td> <?}?> </tr><?}?></table>

ord
Возвращает ascii код символа.

Синтаксис :
int ord(string str)

Эта функция возвращает ASCII код первого символа строки str.
Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255.

Функции отрезания пробелов

trim
Удаляет из заданной строки начальные и конечные пробельные символы.

Синтаксис :
string trim(string str)

Возвращает копию str, только с удаленными ведущими и концевыми пробельными символами. Под пробельными символами надо понимать "&bsol;n", "&bsol;r", "&bsol;t", "&bsol;v", "&bsol;0" и пробел.
Например, вызов trim(" test&bsol;n ") вернет строку "test".

ltrim
Удаляет из заданной строки начальные пробельные символы.

Синтаксис :
string ltrim(string str)

То же, что и trim(), только удаляет исключительно начальные пробельные символы ("&bsol;n", "&bsol;r", "&bsol;t", "&bsol;v", "&bsol;0" и пробел), а концевые не трогает.

rtrim
Удаляет из заданной строки конечные пробельные символы.

Синтаксис :
string rtrim(string str)

То же, что и trim(), только удаляет исключительно конечные пробельные символы ("&bsol;n", "&bsol;r", "&bsol;t", "&bsol;v", "&bsol;0" и пробел), а начальные не трогает.
Эта функция - синоним chop().

chop
Удаляет из заданной строки конечные пробельные символы.

Синтаксис :
string chop(string str)

Удаляет только концевые пробелы, начальные не трогает.

Поиск в тексте

strchr
Поиск первого вхождения символа в строку.

Синтаксис :
string strchr(string haystack, string needle)

Данная функция работает идеентично функции strstr().

strstr
Поиск первого вхождения подстроки в строку.

Синтаксис :
string strstr(string haystack, string needle)

Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.