Remove PHP 5, 7 references (#563)

- array functions
- datetime functions
- mbstring functions
- strings functions
- var functions
- xml functions
- json functions
This commit is contained in:
Sergey Panteleev 2021-05-16 22:07:40 +03:00 committed by GitHub
parent 86ff4f0fe3
commit 8cdc6621f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 71 additions and 448 deletions

View file

@ -91,13 +91,6 @@
will no longer be cast to string and will now throw a <classname>TypeError</classname> instead.
</entry>
</row>
<row>
<entry>7.0.0</entry>
<entry>
Added the ability for the <parameter>array</parameter> parameter to be
an array of objects.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
@ -282,18 +275,6 @@ Array
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.arraycolumn.compat;">Recommended
userland implementation for PHP lower than 5.5</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -43,31 +43,7 @@
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
<parameter>array</parameter> is now always passed by value.
Prior to this version, it was passed by reference if possible,
and by value otherwise.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>

View file

@ -42,31 +42,7 @@
empty, <function>key</function> returns &null;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
<parameter>array</parameter> is now always passed by value.
Prior to this version, it was passed by reference if possible,
and by value otherwise.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>

View file

@ -14,8 +14,10 @@
</methodsynopsis>
<para>
Like <function>array</function>, this is not really a function,
but a language construct. <function>list</function> is used to
but a language construct. <function>list</function> is used to
assign a list of variables in one operation.
Strings can not be unpacked and <function>list</function> expressions
can not be completely empty.
</para>
<note>
<para>
@ -23,24 +25,6 @@
the numerical indices start at 0.
</para>
</note>
<warning>
<para>
In PHP 5, <function>list</function> assigns the values starting with the
right-most parameter. In PHP 7, <function>list</function> starts with the
left-most parameter.
</para>
<para>
If you are using plain variables, you don't have to worry about this. But
if you are using arrays with indices you usually expect the order of the
indices in the array the same you wrote in the <function>list</function>
from left to right, which is not the case in PHP 5, as it's assigned in the
reverse order.
</para>
<para>
Generally speaking, it is advisable to avoid relying on a specific order
of operation, as this may change again in the future.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
@ -98,26 +82,6 @@
enables destructuring of arrays with non-integer or non-sequential keys.
</entry>
</row>
<row>
<entry>7.0.0</entry>
<entry>
The order that the assignment operations are performed in has
changed.
</entry>
</row>
<row>
<entry>7.0.0</entry>
<entry>
<function>list</function> expressions can no longer be completely
empty.
</entry>
</row>
<row>
<entry>7.0.0</entry>
<entry>
Strings can no longer be unpacked.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
@ -224,7 +188,7 @@ var_dump($a);
Gives the following output (note the order of the elements compared in
which order they were written in the <function>list</function> syntax):
</para>
&example.outputs.7;
&example.outputs;
<screen>
<![CDATA[
array(3) {
@ -235,19 +199,6 @@ array(3) {
[2]=>
string(8) "caffeine"
}
]]>
</screen>
&example.outputs.5;
<screen>
<![CDATA[
array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
}
]]>
</screen>
</example>

View file

@ -191,10 +191,6 @@
days between the start and end dates. Otherwise,
<varname>days</varname> will be &false;.
</para>
<para>
Before PHP 5.4.20/5.5.4 instead of &false; you will receive -99999 upon
accessing the property.
</para>
</listitem>
</varlistentry>
</variablelist>

View file

@ -134,14 +134,6 @@ echo $date->format('Y-m-d') . "\n";
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
<function>DateTime::modify</function>
is an alternative when using PHP 5.2.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>

View file

@ -86,34 +86,6 @@ echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
Using the Unix timestamp format to construct a new <type>DateTime</type>
object is an alternative when using PHP 5.2, as shown in the example below.
</para>
<example>
<title>
<function>DateTime::setTimestamp</function> alternative in PHP 5.2
</title>
<programlisting role="php">
<![CDATA[
<?php
$ts = 1171502725;
$date = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
1171502725 = 2007-02-14 20:25:25
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>

View file

@ -134,14 +134,6 @@ echo $date->format('Y-m-d') . "\n";
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
<function>DateTime::modify</function>
is an alternative when using PHP 5.2.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>

View file

@ -114,7 +114,7 @@ echo $interval->format('%R%a days');
<title><classname>DateTime</classname> object comparison</title>
<note>
<para>
As of PHP 5.2.2, DateTime objects can be compared using
DateTime objects can be compared using
<link linkend="language.operators.comparison">comparison operators</link>.
</para>
</note>

View file

@ -99,15 +99,6 @@ echo date_timestamp_get($date);
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
Using <literal>U</literal> as the parameter to
<function>DateTime::format</function>
is an alternative when using PHP 5.2.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>

View file

@ -100,7 +100,7 @@ End: 2016-03-02 00:00:00 -05:00
</screen>
<simpara>
To get the last day of the next month (i.e. to prevent the overflow),
the <literal>last day of</literal> format is available as of PHP 5.3.0.
the <literal>last day of</literal> format is available.
</simpara>
<programlisting role="php">
<![CDATA[

View file

@ -22,12 +22,6 @@
<function>date_default_timezone_set</function> function (if any)
</para>
</listitem>
<listitem>
<para>
Prior to PHP 5.4.0 <emphasis>only</emphasis>: Reading the <varname>TZ</varname>
environment variable (if non empty)
</para>
</listitem>
<listitem>
<para>
Reading the value of the <link linkend="ini.date.timezone">date.timezone</link> ini option
@ -36,10 +30,7 @@
</listitem>
<listitem>
<para>
Prior to PHP 5.4.0 <emphasis>only</emphasis>: Querying the host operating system (if supported
and allowed by the OS). This uses an algorithm
that has to <emphasis>guess</emphasis> the timezone. This is by no means going to work correctly for
every situation. A warning is shown when this stage is reached. Do not rely on it to be guessed
A warning is shown when this stage is reached. Do not rely on it to be guessed
correctly, and set <link linkend="ini.date.timezone">date.timezone</link> to the correct timezone
instead.
</para>

View file

@ -98,20 +98,6 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>isDST</parameter></term>
<listitem>
<para>
Parameters always represent a GMT date so <parameter>isDST</parameter>
doesn't influence the result.
</para>
<note>
<para>
This parameter has been removed in PHP 7.0.0.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

View file

@ -61,34 +61,7 @@
&reftitle.examples;
<para>
<example>
<title>Timing script execution with <function>microtime</function></title>
<programlisting role="php">
<![CDATA[
<?php
/**
* Simple function to replicate PHP 5 behaviour
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Sleep for a while
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>
]]>
</programlisting>
</example>
<example>
<title>Timing script execution in PHP 5</title>
<title>Timing script execution</title>
<programlisting role="php">
<![CDATA[
<?php
@ -106,14 +79,14 @@ echo "Did nothing in $time seconds\n";
</programlisting>
</example>
<example>
<title><function>microtime</function> and <literal>REQUEST_TIME_FLOAT</literal> (as of PHP 5.4.0)</title>
<title><function>microtime</function> and <literal>REQUEST_TIME_FLOAT</literal></title>
<programlisting role="php">
<![CDATA[
<?php
// Randomize sleeping time
usleep(mt_rand(100, 10000));
// As of PHP 5.4.0, REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// It contains the timestamp of the start of the request with microsecond precision.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

View file

@ -99,39 +99,10 @@
with values between 0-69 mapping to 2000-2069 and 70-100 to
1970-2000. On systems where time_t is a 32bit signed integer, as
most common today, the valid range for <parameter>year</parameter>
is somewhere between 1901 and 2038. However, before PHP 5.1.0 this
range was limited from 1970 to 2038 on some systems (e.g. Windows).
is somewhere between 1901 and 2038.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>isDST</parameter></term>
<listitem>
<para>
This parameter can be set to 1 if the time is during daylight savings time (DST),
0 if it is not, or -1 (the default) if it is unknown whether the time is within
daylight savings time or not. If it's unknown, PHP tries to figure it out itself.
This can cause unexpected (but not incorrect) results.
Some times are invalid if DST is enabled on the system PHP is running on or
<parameter>isDST</parameter> is set to 1. If DST is enabled in e.g. 2:00, all times
between 2:00 and 3:00 are invalid and <function>mktime</function> returns an undefined
(usually negative) value.
Some systems (e.g. Solaris 8) enable DST at midnight so time 0:30 of the day when DST
is enabled is evaluated as 23:30 of the previous day.
</para>
<note>
<para>
As of PHP 5.1.0, this parameter became deprecated. As a result, the
new timezone handling features should be used instead.
</para>
</note>
<note>
<para>
This parameter has been removed in PHP 7.0.0.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
@ -190,7 +161,7 @@
<programlisting role="php">
<![CDATA[
<?php
// Set the default timezone to use. Available as of PHP 5.1
// Set the default timezone to use.
date_default_timezone_set('UTC');
// Prints: July 1, 2000 is on a Saturday
@ -246,17 +217,6 @@ echo strftime("Last day in Feb 2000 is: %d", $lastday);
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<caution>
<para>
Before PHP 5.1.0, negative timestamps were not supported under any known
version of Windows and some other systems as well. Therefore the range of
valid years was limited to 1970 through 2038.
</para>
</caution>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>

View file

@ -167,7 +167,7 @@ Array
function provided by the system's C library. This function can exhibit
noticeably different behaviour across different operating systems. The
use of <function>date_parse_from_format</function>, which does not
suffer from these issues, is recommended on PHP 5.3.0 and later.
suffer from these issues, is recommended.
</para>
</note>
<note>
@ -178,13 +178,6 @@ Array
on leap seconds</link>.
</para>
</note>
<note>
<para>
Prior to PHP 5.2.0, this function could return undefined behaviour. Notably,
the <literal>"tm_sec"</literal>, <literal>"tm_min"</literal> and <literal>"tm_hour"</literal>
entries would return undefined values.
</para>
</note>
</refsect1>
<refsect1 role="seealso">

View file

@ -125,7 +125,6 @@ echo strtotime("last Monday"), "\n";
<?php
$str = 'Not Good';
// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {
echo "The string ($str) is bogus";
} else {
@ -155,12 +154,6 @@ if (($timestamp = strtotime($str)) === false) {
the dates that correspond to the minimum and maximum values for
a 32-bit signed integer.)
</para>
<para>
Prior to PHP 5.1.0, not all platforms support negative timestamps, therefore
your date range may be limited to no earlier than the Unix epoch. This
means that e.g. dates prior to Jan 1, 1970 will not work on Windows,
some Linux distributions, and a few other operating systems.
</para>
<para>
For 64-bit versions of PHP, the valid range of a timestamp is effectively
infinite, as 64 bits can represent approximately 293 billion years in either
@ -189,8 +182,7 @@ if (($timestamp = strtotime($str)) === false) {
<para>
Using this function for mathematical operations is not advisable.
It is better to use <methodname>DateTime::add</methodname> and
<methodname>DateTime::sub</methodname> in PHP 5.3 and later, or
<methodname>DateTime::modify</methodname> in PHP 5.2.
<methodname>DateTime::sub</methodname>.
</para>
</note>
</refsect1>

View file

@ -44,7 +44,7 @@
<entry><link linkend="ini.date.timezone">date.timezone</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available as of PHP 5.1.0.</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
@ -111,9 +111,8 @@
</term>
<listitem>
<para>
The default timezone used by all date/time functions. Prior to PHP 5.4.0,
this would only work if the <varname>TZ</varname> environment variable
was not set. The precedence order for which timezone is used if none
The default timezone used by all date/time functions.
The precedence order for which timezone is used if none
is explicitly mentioned is described in the
<function>date_default_timezone_get</function> page. See <xref
linkend="timezones"/> for a list of supported timezones.

View file

@ -11,9 +11,8 @@
<para>
This extension implements the <link
xlink:href="&url.json;">JavaScript Object Notation (JSON)</link>
data-interchange format. The decoding in PHP 5 is handled by a parser based on
the JSON_checker by Douglas Crockford. PHP 7 comes with a completely new and
improved parser that is specifically written for PHP and licensed under the
data-interchange format. PHP comes with a parser
that is specifically written for PHP and licensed under the
PHP license.
</para>
&json.implementation.superset;

View file

@ -18,7 +18,6 @@
<listitem>
<simpara>
No error has occurred.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -30,7 +29,6 @@
<listitem>
<simpara>
The maximum stack depth has been exceeded.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -42,7 +40,6 @@
<listitem>
<simpara>
Occurs with underflow or with the modes mismatch.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -54,7 +51,6 @@
<listitem>
<simpara>
Control character error, possibly incorrectly encoded.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -66,7 +62,6 @@
<listitem>
<simpara>
Syntax error.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -78,7 +73,6 @@
<listitem>
<simpara>
Malformed UTF-8 characters, possibly incorrectly encoded.
Available as of PHP 5.3.3.
</simpara>
</listitem>
</varlistentry>
@ -93,7 +87,6 @@
recursive references and cannot be encoded.
If the <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> option was
given, &null; will be encoded in the place of the recursive reference.
Available as of PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
@ -110,7 +103,6 @@
If the <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> option was
given, <literal>0</literal> will be encoded in the place of these
special numbers.
Available as of PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
@ -125,7 +117,6 @@
<function>json_encode</function>, such as a &resource;.
If the <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> option was
given, &null; will be encoded in the place of the unsupported value.
Available as of PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
@ -139,7 +130,6 @@
A key starting with \u0000 character was in the string passed to
<function>json_decode</function> when decoding a JSON object into a PHP
object.
Available as of PHP 7.0.0.
</simpara>
</listitem>
</varlistentry>
@ -152,7 +142,6 @@
<simpara>
Single unpaired UTF-16 surrogate in unicode escape contained in the
JSON string passed to <function>json_decode</function>.
Available as of PHP 7.0.0.
</simpara>
</listitem>
</varlistentry>
@ -171,7 +160,6 @@
<listitem>
<simpara>
Decodes large integers as their original string value.
Available as of PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
@ -185,7 +173,6 @@
Decodes JSON objects as PHP array. This option can be added automatically
by calling <function>json_decode</function> with the second parameter
equal to &true;.
Available as of PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
@ -204,7 +191,6 @@
<listitem>
<simpara>
All &lt; and &gt; are converted to \u003C and \u003E.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -216,7 +202,6 @@
<listitem>
<simpara>
All &amp; are converted to \u0026.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -228,7 +213,6 @@
<listitem>
<simpara>
All ' are converted to \u0027.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -240,7 +224,6 @@
<listitem>
<simpara>
All " are converted to \u0022.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -254,7 +237,6 @@
Outputs an object rather than an array when a non-associative array is
used. Especially useful when the recipient of the output is expecting
an object and the array is empty.
Available as of PHP 5.3.0.
</simpara>
</listitem>
</varlistentry>
@ -266,7 +248,6 @@
<listitem>
<simpara>
Encodes numeric strings as numbers.
Available as of PHP 5.3.3.
</simpara>
</listitem>
</varlistentry>
@ -278,7 +259,6 @@
<listitem>
<simpara>
Use whitespace in returned data to format it.
Available as of PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
@ -290,7 +270,6 @@
<listitem>
<simpara>
Don't escape <literal>/</literal>.
Available as of PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
@ -303,7 +282,6 @@
<simpara>
Encode multibyte Unicode characters literally (default is to escape as
\uXXXX).
Available as of PHP 5.4.0.
</simpara>
</listitem>
</varlistentry>
@ -315,7 +293,6 @@
<listitem>
<simpara>
Substitute some unencodable values instead of failing.
Available as of PHP 5.5.0.
</simpara>
</listitem>
</varlistentry>
@ -327,7 +304,6 @@
<listitem>
<simpara>
Ensures that &float; values are always encoded as a float value.
Available as of PHP 5.6.6.
</simpara>
</listitem>
</varlistentry>

View file

@ -68,12 +68,12 @@
<row>
<entry><constant>JSON_ERROR_UTF8</constant></entry>
<entry>Malformed UTF-8 characters, possibly incorrectly encoded</entry>
<entry>PHP 5.3.3</entry>
<entry></entry>
</row>
<row>
<entry><constant>JSON_ERROR_RECURSION</constant></entry>
<entry>One or more recursive references in the value to be encoded</entry>
<entry>PHP 5.5.0</entry>
<entry></entry>
</row>
<row>
<entry><constant>JSON_ERROR_INF_OR_NAN</constant></entry>
@ -83,22 +83,22 @@
or <link linkend="function.is-infinite"><constant>INF</constant></link>
values in the value to be encoded
</entry>
<entry>PHP 5.5.0</entry>
<entry></entry>
</row>
<row>
<entry><constant>JSON_ERROR_UNSUPPORTED_TYPE</constant></entry>
<entry>A value of a type that cannot be encoded was given</entry>
<entry>PHP 5.5.0</entry>
<entry></entry>
</row>
<row>
<entry><constant>JSON_ERROR_INVALID_PROPERTY_NAME</constant></entry>
<entry>A property name that cannot be encoded was given</entry>
<entry>PHP 7.0.0</entry>
<entry></entry>
</row>
<row>
<entry><constant>JSON_ERROR_UTF16</constant></entry>
<entry>Malformed UTF-16 characters, possibly incorrectly encoded</entry>
<entry>PHP 7.0.0</entry>
<entry></entry>
</row>
</tbody>
</tgroup>

View file

@ -170,8 +170,7 @@ Last christmas was 12/24/2002
</para>
<para>
<example>
<title><function>mb_ereg_replace_callback</function> using anonymous function
supported in PHP 5.3.0 or later</title>
<title><function>mb_ereg_replace_callback</function> using anonymous function</title>
<programlisting role="php">
<![CDATA[
<?php

View file

@ -55,12 +55,6 @@
</thead>
<tbody>
&mbstring.changelog.encoding-nullable;
<row>
<entry>5.6.0</entry>
<entry>
Default encoding is changed to UTF-8. It was EUC-JP Previously.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View file

@ -76,19 +76,6 @@
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
The <parameter>encoding</parameter> parameter was moved from
the third position to the fourth in PHP 5.2.0. For backward
compatibility, <parameter>encoding</parameter> can be specified
as the third parameter, but doing so is deprecated and will be
removed in the future.
</simpara>
</note>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
@ -100,6 +87,13 @@
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Passing the <parameter>encoding</parameter> as the third argument
instead of an offset has been removed.
</entry>
</row>
&mbstring.changelog.encoding-nullable;
</tbody>
</tgroup>

View file

@ -20,9 +20,7 @@
<entry><link linkend="ini.mbstring.language">mbstring.language</link></entry>
<entry>"neutral"</entry>
<entry>PHP_INI_ALL</entry>
<entry>
PHP_INI_PERDIR in PHP &lt;= 5.2.6.
</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.detect-order">mbstring.detect_order</link></entry>
@ -34,25 +32,19 @@
<entry><link linkend="ini.mbstring.http-input">mbstring.http_input</link></entry>
<entry>"pass"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Deprecated in PHP 5.6.0.</entry>
<entry>Deprecated</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.http-output">mbstring.http_output</link></entry>
<entry>"pass"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Deprecated in PHP 5.6.0.</entry>
<entry>Deprecated</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.internal-encoding">mbstring.internal_encoding</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry>Deprecated in PHP 5.6.0.</entry>
</row>
<row>
<entry>mbstring.script_encoding</entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry>Removed in PHP 5.4.0. Use <link linkend="ini.zend.script-encoding">zend.script_encoding</link> instead.</entry>
<entry>Deprecated</entry>
</row>
<row>
<entry><link linkend="ini.mbstring.substitute-character">mbstring.substitute_character</link></entry>
@ -65,7 +57,6 @@
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>
PHP_INI_PERDIR in PHP &lt;= 5.2.6.
Deprecated as of PHP 7.2.0; removed as of PHP 8.0.0.
</entry>
</row>
@ -79,13 +70,13 @@
<entry><link linkend="ini.mbstring.http-output-conv-mimetypes">mbstring.http_output_conv_mimetypes</link></entry>
<entry>"^(text/|application/xhtml\+xml)"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available as of PHP 5.3.0.</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.mbstring.strict-detection">mbstring.strict_detection</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available as of PHP 5.1.2.</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
@ -130,12 +121,14 @@
<type>string</type>
</term>
<listitem>
&warn.deprecated.feature-5-6-0;
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
Defines the default internal character encoding.
</para>
<para>
PHP 5.6 and later users should leave this empty and set
Users should leave this empty and set
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
instead.
</para>
@ -147,12 +140,14 @@
<type>string</type>
</term>
<listitem>
&warn.deprecated.feature-5-6-0;
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
Defines the default HTTP input character encoding.
</para>
<para>
PHP 5.6 and later users should leave this empty and set
Users should leave this empty and set
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
instead.
</para>
@ -164,12 +159,14 @@
<type>string</type>
</term>
<listitem>
&warn.deprecated.feature-5-6-0;
<warning>
<para>&removed.php.future;</para>
</warning>
<para>
Defines the default HTTP output character encoding (output will be converted from the internal encoding to the HTTP output encoding upon output).
</para>
<para>
PHP 5.6 and later users should leave this empty and set
Users should leave this empty and set
<link linkend="ini.default-charset"><parameter>default_charset</parameter></link>
instead.
</para>

View file

@ -52,8 +52,7 @@
</listitem>
<listitem>
<simpara>
As of PHP 5.4.0, the pictogram characters
used for mobile phone service such as
Emoji used for mobile phone service such as
<link xlink:href="&url.imode;">i-mode</link>
or <link xlink:href="&url.ezweb;">EZweb</link>
are supported.

View file

@ -36,15 +36,6 @@ eval("echo '" . addslashes($str) . "';");
</programlisting>
</informalexample>
</para>
<para>
Prior to PHP 5.4.0, the PHP directive <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
was <literal>on</literal> by default and it essentially ran <function>addslashes</function>
on all GET, POST and COOKIE data.
<function>addslashes</function> must not be used on strings that have already
been escaped with <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>,
as the strings will be double escaped. <function>get_magic_quotes_gpc</function> can be used to check
if <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> is <literal>on</literal>.
</para>
<para>
The <function>addslashes</function> is sometimes incorrectly used to try to prevent
<link linkend="security.database.sql-injection">SQL Injection</link>. Instead,

View file

@ -32,8 +32,7 @@
<function>setlocale</function>. This happens due to other scripts
running in different threads of the same process at the same time,
changing the process-wide locale using <function>setlocale</function>.
On Windows, locale information is maintained per thread as of PHP 5.6.20 and
PHP 7.0.5, respectively.
On Windows, locale information is maintained per thread as of PHP 7.0.5.
</para>
</warning>
</refsect1>

View file

@ -49,8 +49,7 @@
</note>
<note>
<para>
In PHP 5.3.4 and later, self-closing
XHTML tags are ignored and only non-self-closing tags should be used in
Self-closing XHTML tags are ignored and only non-self-closing tags should be used in
<parameter>allowed_tags</parameter>. For example,
to allow both <literal>&lt;br&gt;</literal> and
<literal>&lt;br/&gt;</literal>, you should use:

View file

@ -16,9 +16,7 @@
Un-quotes a quoted string.
</para>
<para>
An example use of <function>stripslashes</function> is when the PHP
directive <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
is <literal>on</literal> (it was on by default before PHP 5.4), and you aren't inserting
<function>stripslashes</function> can be used if you aren't inserting
this data into a place (such as a database) that requires escaping.
For example, if you're simply outputting data straight from an HTML form.
</para>

View file

@ -104,7 +104,7 @@
<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // outputs ER@EXAMPLE.com
echo stristr($email, 'e', true); // As of PHP 5.3.0, outputs US
echo stristr($email, 'e', true); // outputs US
?>
]]>
</programlisting>

View file

@ -116,7 +116,7 @@ $email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com
$user = strstr($email, '@', true); // As of PHP 5.3.0
$user = strstr($email, '@', true);
echo $user; // prints name
?>
]]>

View file

@ -196,7 +196,7 @@ echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>
]]>
</programlisting>
&example.outputs.7;
&example.outputs;
<screen>
<![CDATA[
1) 'pe'
@ -206,18 +206,6 @@ echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
5) ''
6) ''
7) '1200'
]]>
</screen>
&example.outputs.5;
<screen>
<![CDATA[
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'
]]>
</screen>
</example>

View file

@ -121,11 +121,8 @@ echo $callable_name, "\n"; // someClass::someMethod
<example>
<title><function>is_callable</function> and constructors</title>
<simpara>
As of PHP 5.3.0 <function>is_callable</function> reports constructors as
not being callable. This affects PHP 5 style constructors
(<literal>__construct</literal>) as well as PHP 4 style constructors (i.e.
methods with the same name as the class). Formerly, both cases have been
considered callable.
<function>is_callable</function> reports constructors as
not being callable.
</simpara>
<programlisting role="php">
<![CDATA[

View file

@ -134,10 +134,6 @@ var_dump(isset($a['cake']['a']['b'])); // FALSE
</para>
<example>
<title><function>isset</function> on String Offsets</title>
<para>
PHP 5.4 changes how <function>isset</function> behaves
when passed string offsets.
</para>
<programlisting role="php">
<![CDATA[
<?php
@ -151,18 +147,7 @@ var_dump(isset($expected_array_got_string['0 Mostel']));
?>
]]>
</programlisting>
&example.outputs.53;
<screen>
<![CDATA[
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
]]>
</screen>
&example.outputs.54;
&example.outputs;
<screen>
<![CDATA[
bool(false)

View file

@ -119,8 +119,7 @@ if (!odbc_execute($stmt, $sqldata)) {
</para>
<para>
There are some historical exceptions to the above rule, where some internal objects
could be serialized without implementing the interface or exposing the methods. Notably,
the <classname>ArrayObject</classname> prior to PHP 5.2.0.
could be serialized without implementing the interface or exposing the methods.
</para>
</note>
<warning>

View file

@ -59,7 +59,7 @@
<para>
<example>
<title>
<function>strval</function> example using PHP 5's magic
<function>strval</function> example using PHP magic
<link linkend="object.tostring">__toString()</link> method.
</title>
<programlisting role="php">

View file

@ -22,8 +22,7 @@
<simpara>
All public, private and protected properties of objects will be returned in
the output unless the object implements a
<link linkend="language.oop5.magic.debuginfo">__debugInfo()</link> method
(implemented in PHP 5.6.0).
<link linkend="language.oop5.magic.debuginfo">__debugInfo()</link> method.
</simpara>
&tip.ob-capture;
</refsect1>

View file

@ -27,15 +27,12 @@
<term><parameter>encoding</parameter></term>
<listitem>
<para>
The optional <parameter>encoding</parameter> specifies the character
encoding for the input/output in PHP 4. Starting from PHP 5, the input
The input
encoding is automatically detected, so that the
<parameter>encoding</parameter> parameter specifies only the output
encoding. In PHP 4, the default output encoding is the same as the
input charset. If empty string is passed, the parser attempts to identify
encoding. If empty string is passed, the parser attempts to identify
which encoding the document is encoded in by looking at the heading 3 or
4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is
ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported
4 bytes. The default output charset is UTF-8. The supported
encodings are <literal>ISO-8859-1</literal>, <literal>UTF-8</literal> and
<literal>US-ASCII</literal>.
</para>

View file

@ -15,11 +15,7 @@
<section xml:id="xmlreader.installation">
&reftitle.install;
<para>
The XMLReader extension was initially a PECL extension for PHP 5. It was later
moved to the PHP source (bundled) as of PHP 5.1.0, and later enabled by default
as of PHP 5.1.2.
</para>
<para>
The XMLReader ships with PHP source.
&installation.enabled.disable;
<option role="configure">--disable-xmlreader</option>
</para>

View file

@ -15,11 +15,7 @@
<section xml:id="xmlwriter.installation">
&reftitle.install;
<para>
The XMLWriter extension was initially a PECL extension for PHP 5. It
was later added to the PHP source (bundled) as of PHP 5.1.2. This
extension is enabled by default.
</para>
<para>
The XMLWriter ships with PHP source.
&installation.enabled.disable;
<option role="configure">--disable-xmlwriter</option>
</para>