1
0
mirror of https://github.com/php/doc-zh.git synced 2026-03-25 23:52:17 +01:00
Files
archived-doc-zh/reference/classobj/functions/get-mangled-object-vars.xml
2023-06-29 14:42:42 +08:00

146 lines
3.2 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d332b5ae70bd27873fa1b51b366a721957042e69 Maintainer: mowangjuanzi Status: ready -->
<refentry xml:id="function.get-mangled-object-vars" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>get_mangled_object_vars</refname>
<refpurpose>返回将对象属性混在一起的数组</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>get_mangled_object_vars</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
</methodsynopsis>
<para>
返回 &array;,其元素是 <parameter>object</parameter> 的属性。key 是成员变量名但有几个显著的异常private
变量的变量名前加上类名protected 变量的变量名前面加上 <literal>*</literal> 号。这些前置值在两边都带有
<literal>NUL</literal> 字节。未初始化的<link linkend="language.oop5.properties.typed-properties">类型属性</link>会默默丢弃。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>object</parameter></term>
<listitem>
<para>
对象实例。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
返回包含 <parameter>object</parameter> 的所有属性的 &array;,无论其可见性如何。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>get_mangled_object_vars</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
class A
{
public $public = 1;
protected $protected = 2;
private $private = 3;
}
class B extends A
{
private $private = 4;
}
$object = new B;
$object->dynamic = 5;
$object->{'6'} = 6;
var_dump(get_mangled_object_vars($object));
class AO extends ArrayObject
{
private $private = 1;
}
$arrayObject = new AO(['x' => 'y']);
$arrayObject->dynamic = 2;
var_dump(get_mangled_object_vars($arrayObject));
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(6) {
["Bprivate"]=>
int(4)
["public"]=>
int(1)
["*protected"]=>
int(2)
["Aprivate"]=>
int(3)
["dynamic"]=>
int(5)
[6]=>
int(6)
}
array(2) {
["AOprivate"]=>
int(1)
["dynamic"]=>
int(2)
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>get_class_vars</function></member>
<member><function>get_object_vars</function></member>
</simplelist>
</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:"~/.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
-->