$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, только с удаленными ведущими и концевыми пробельными символами. Под пробельными символами надо понимать "\n", "\r", "\t", "\v", "\0" и пробел.
Например, вызов trim(" test\n ") вернет строку "test".
ltrim
Удаляет из заданной строки начальные пробельные символы.
Синтаксис :
string ltrim(string str)
То же, что и trim(), только удаляет исключительно начальные пробельные символы ("\n", "\r", "\t", "\v", "\0" и пробел), а концевые не трогает.
rtrim
Удаляет из заданной строки конечные пробельные символы.
Синтаксис :
string rtrim(string str)
То же, что и trim(), только удаляет исключительно конечные пробельные символы ("\n", "\r", "\t", "\v", "\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 не является строкой, то значение преобразуется в целое и используется как код искомого символа.