File: compact.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (102 lines) | stat: -rw-r--r-- 3,015 bytes parent folder | download | duplicates (2)
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
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
  <refentry id="function.compact">
   <refnamediv>
    <refname>compact</refname>
    <refpurpose>
     Create array containing variables and their values
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>array</type><methodname>compact</methodname>
      <methodparam><type>mixed</type><parameter>varname</parameter></methodparam>
      <methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>compact</function> takes a variable number of
     parameters. Each parameter can be either a string containing the
     name of the variable, or an array of variable names.  The array
     can contain other arrays of variable names inside it;
     <function>compact</function> handles it recursively.
    </para>
    <para>
     For each of these, <function>compact</function> looks for a
     variable with that name in the current symbol table and adds it
     to the output array such that the variable name becomes the key
     and the contents of the variable become the value for that key.
     In short, it does the opposite of <function>extract</function>.
     It returns the output array with all the variables added to it.
    </para>
    <para>
     Any strings that are not set will simply be skipped.
    </para>
    <note>
     <title>Gotcha</title>
     <para>
      Because <link linkend="language.variables.variable">variable 
      variables</link> may not be used with PHP's 
      <link linkend="language.variables.superglobals">Superglobal 
      arrays</link> within functions, the Superglobal arrays may not be passed 
      into <function>compact</function>.
     </para>
    </note>
    <para>
     <example>
      <title><function>compact</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
?>
]]>
      </programlisting>
      <para>
       After this, <varname>$result</varname> will be:
      </para>
      <screen role="php">
<![CDATA[
Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)
]]>
      </screen>
     </example>
    </para>
    <para>
     See also <function>extract</function>.
    </para>
   </refsect1>
  </refentry>

<!-- 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:"../../../../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
-->