|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
sprintf
(PHP 3, PHP 4, PHP 5) sprintf -- Return a formatted
string
Descriptionstring sprintf (
string format [, mixed args [, mixed ...]] )
Returns a string produced according to the formatting string
format.
The format string is composed of zero or more directives:
ordinary characters (excluding %)
that are copied directly to the result, and conversion
specifications, each of which results in fetching
its own parameter. This applies to both sprintf() and printf().
Each conversion specification consists of a percent sign
(%), followed by one or more of
these elements, in order:
-
An optional sign specifier that forces a sign (-
or +) to be used on a number. By default, only the - sign
is used on a number if it's negative. This specifier forces
positive numbers to have the + sign attached as well, and
was added in PHP 4.3.0.
-
An optional padding specifier that says what
character will be used for padding the results to the right
string size. This may be a space character or a 0 (zero character). The default is to pad
with spaces. An alternate padding character can be
specified by prefixing it with a single quote ('). See the examples below.
-
An optional alignment specifier that says if the
result should be left-justified or right-justified. The
default is right-justified; a -
character here will make it left-justified.
-
An optional number, a width specifier that says how many
characters (minimum) this conversion should result in.
-
An optional precision specifier that says how
many decimal digits should be displayed for floating-point
numbers. When using this specifier on a string, it acts as
a cutoff point, setting a maximum character limit to the
string.
-
A type
specifier that says what type the argument data
should be treated as. Possible types:
| % - a literal percent
character. No argument is required. |
| b - the argument is
treated as an integer, and presented as a binary
number. |
| c - the argument is
treated as an integer, and presented as the character
with that ASCII value. |
| d - the argument is
treated as an integer, and presented as a (signed)
decimal number. |
| e - the argument is
treated as scientific notation (e.g. 1.2e+2). |
| u - the argument is
treated as an integer, and presented as an unsigned
decimal number. |
| f - the argument is
treated as a float, and presented as a floating-point
number (locale aware). |
| F - the argument is
treated as a float, and presented as a floating-point
number (non-locale aware). Available since PHP 4.3.10
and PHP 5.0.3. |
| o - the argument is
treated as an integer, and presented as an octal
number. |
| s - the argument is
treated as and presented as a string. |
| x - the argument is
treated as an integer and presented as a hexadecimal
number (with lowercase letters). |
| X - the argument is
treated as an integer and presented as a hexadecimal
number (with uppercase letters). |
As of PHP 4.0.6 the format string supports argument
numbering/swapping. Here is an example:
Przykład 1. Argument swapping
<?php
$format = 'There are %d monkeys in the %s';
printf($format, $num, $location); ?> |
|
This might output, "There are 5 monkeys in the tree".
But imagine we are creating a format string in a separate file,
commonly because we would like to internationalize it and we
rewrite it as:
Przykład 2. Argument swapping
<?php
$format = 'The %s contains %d monkeys';
printf($format, $num, $location); ?> |
|
We now have a problem. The order of the placeholders in
the format string does not match the order of the arguments in
the code. We would like to leave the code as is and simply
indicate in the format string which arguments the placeholders
refer to. We would write the format string like this instead:
Przykład 3. Argument swapping
<?php
$format = 'The %2$s contains %1$d monkeys';
printf($format, $num, $location); ?> |
|
An added benefit here is that you can repeat the
placeholders without adding more arguments in the code. For
example:
Przykład 4. Argument swapping
<?php
$format = 'The %2$s contains %1$d monkeys.
That\'s a nice %2$s full of %1$d monkeys.';
printf($format, $num, $location); ?> |
|
See also printf(), sscanf(),
fscanf(), vsprintf(), and number_format().
Examples
Przykład 5. printf(): various examples
<?php
$n = 43951789; $u = -43951789; $c = 65; // ASCII 65 is 'A'
// notice the double %%, this prints a literal '%' character
printf("%%b = '%b'\n", $n); // binary representation printf("%%c = '%c'\n", $c); // print the ascii character, same as chr() function
printf("%%d = '%d'\n", $n); // standard integer representation
printf("%%e = '%e'\n", $n); // scientific notation printf("%%u = '%u'\n", $n); // unsigned integer representation of a positive integer
printf("%%u = '%u'\n", $u); // unsigned integer representation of a negative integer
printf("%%f = '%f'\n", $n); // floating point representation
printf("%%o = '%o'\n", $n); // octal representation printf("%%s = '%s'\n", $n); // string representation
printf("%%x = '%x'\n", $n); // hexadecimal representation (lower-case)
printf("%%X = '%X'\n", $n); // hexadecimal representation (upper-case)
printf("%%+d = '%+d'\n", $n); // sign specifier on a positive integer
printf("%%+d = '%+d'\n", $u); // sign specifier on a negative integer
?> |
The printout of this program would be:
%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'
|
|
Przykład 6. printf(): string specifiers
<?php
$s = 'monkey'; $t = 'many monkeys';
printf("[%s]\n", $s); // standard string output printf("[%10s]\n", $s); // right-justification with spaces
printf("[%-10s]\n", $s); // left-justification with spaces
printf("[%010s]\n", $s); // zero-padding works on strings too
printf("[%'#10s]\n", $s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters
?> |
The printout of this program would be:
[monkey]
[ monkey]
[monkey ]
[0000monkey]
[####monkey]
[many monke]
|
|
Przykład 7. sprintf(): zero-padded
integers
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?> |
|
Przykład 8. sprintf(): formatting
currency
<?php
$money1 = 68.75; $money2 = 54.35; $money = $money1 + $money2; // echo $money will output "123.1";
$formatted = sprintf("%01.2f", $money); // echo $formatted will output "123.10"
?> |
|
Przykład 9. sprintf(): scientific
notation
<?php
$number = 362525200;
echo sprintf("%.3e", $number); // outputs 3.63e+8 ?> |
|
|