-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathtypes.xml
165 lines (150 loc) · 5.29 KB
/
types.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e587d0655e426f97b3fcb431453da5030e743b23 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- CREDITS: DAnnebicque -->
<chapter xml:id="language.types" xmlns="http://docbook.org/ns/docbook" annotations="interactive">
<title>Les types</title>
<sect1 xml:id="language.types.intro">
<title>Introduction</title>
<para>
En PHP, chaque expression a l'un des types intégrés suivants en fonction de
sa valeur:
<itemizedlist>
<listitem><simpara><type>null</type></simpara></listitem>
<listitem><simpara><type>bool</type></simpara></listitem>
<listitem><simpara><type>int</type></simpara></listitem>
<listitem><simpara><type>float</type> (nombre à virgule flottante)</simpara></listitem>
<listitem><simpara><type>string</type></simpara></listitem>
<listitem><simpara><type>array</type></simpara></listitem>
<listitem><simpara><type>object</type></simpara></listitem>
<listitem><simpara><type>callable</type></simpara></listitem>
<listitem><simpara><type>resource</type></simpara></listitem>
</itemizedlist>
</para>
<para>
PHP est un langage typé dynamiquement, ce qui signifie que par défaut, il
n'est pas nécessaire de spécifier le type d'une variable, car cela sera
déterminé au moment de l'exécution. Cependant, il est possible de typer
statiquement certains aspects du langage en utilisant les
<link linkend="language.types.declarations">déclarations de type</link>.
Différents types pris en charge par le système de types de PHP sont disponibles sur la
<link linkend="language.types.type-system">page du système de types</link>.
</para>
<para>
Les types limitent le type d'opérations qui peuvent être effectuées sur eux.
Cependant, si une expression/variable est utilisée dans une opération que
son type ne supporte pas, PHP tentera de
<link linkend="language.types.type-juggling">jongler de type</link> dans un
type compatible avec l'opération.
Ce processus dépend du contexte dans lequel la valeur est utilisée.
Pour plus d’informations, consultez la section sur le
<link linkend="language.types.type-juggling">jonglage de type</link>.
</para>
<tip>
<simpara>
<link linkend="types.comparisons">Les tableaux de comparaison de type</link>
peuvent également être utiles, car divers exemples de comparaison entre des
valeurs de différents types sont présents.
</simpara>
</tip>
<note>
<simpara>
Il est possible de forcer l’évaluation d’une expression à un certain type en
utilisant un <link linkend="language.types.typecasting">type casting</link>.
Une variable peut également être convertie sur place à l’aide de la fonction
<function>settype</function>.
</simpara>
</note>
<para>
Pour vérifier le type et la valeur d'une
<link linkend="language.expressions">expression</link>, utilisez la fonction
<function>var_dump</function>.
Pour récupérer le type d'une
<link linkend="language.expressions">expression</link>,
utiliser la fonction <function>get_debug_type</function>.
Toutefois, pour vérifier si une expression est d'un certain type, utilisez
plutôt les fonctions
<!-- TODO When PhD support is there: <function>is_<replaceable>type</replaceable></function> -->
<literal>is_<replaceable>type</replaceable></literal>.
<example>
<title>Types Différents</title>
<programlisting role="php">
<![CDATA[
<?php
$a_bool = TRUE; // un booléen
$a_str = "foo"; // une chaîne de caractères
$a_str2 = 'foo'; // une chaîne de caractères
$an_int = 12; // un entier
echo gettype($a_bool); // affiche : boolean
echo gettype($a_str); // affiche : string
// Si c'est un entier, incrément de 4
if (is_int($an_int)) {
$an_int += 4;
}
// Si $a_bool est une chaîne de caractères, on l'affiche
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
]]>
</programlisting>
&example.outputs.8;
<screen>
<![CDATA[
bool
string
int(16)
]]>
</screen>
</example>
</para>
<note>
<simpara>
Antérieur à PHP 8.0.0, lorsque le <function>get_debug_type</function> n’est pas
disponible, la fonction <function>gettype</function> peut être utilisée à
la place.
Cependant, elle n’utilise pas les noms de type canoniques.
</simpara>
</note>
</sect1>
&language.types.type-system;
&language.types.null;
&language.types.boolean;
&language.types.integer;
&language.types.float;
&language.types.string;
&language.types.numeric-strings;
&language.types.array;
&language.types.object;
&language.types.enumerations;
&language.types.resource;
&language.types.callable;
&language.types.mixed;
&language.types.void;
&language.types.never;
&language.types.relative-class-types;
&language.types.singleton;
&language.types.iterable;
&language.types.declarations;
&language.types.type-juggling;
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->