1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 07:12:18 +01:00
Files
2024-09-07 15:24:00 +03:00

265 lines
8.9 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: d58ee8eaaa7f716c51f66f5f1058ab3c42376d98 Maintainer: nilgun Status: ready -->
<refentry xml:id="function.extract" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>extract</refname>
<refpurpose>Bir dizideki değişkenleri simge tablosuna dahil eder</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>extract</methodname>
<methodparam><type>array</type><parameter role="reference">dizi</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>seçenekler</parameter><initializer><constant>EXTR_OVERWRITE</constant></initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>önek</parameter><initializer>""</initializer></methodparam>
</methodsynopsis>
<para>
Bir dizideki değişkenleri
<link linkend="features.gc.refcounting-basics">simge tablosuna</link>
dahil eder.
</para>
<para>
Her anahtarın geçerli bir değişken adı olup olmadığına bakmaktan başka bu
değişkenlerin simge tablosundakilerle çakışıp çakışmadığına da bakar.
</para>
<warning>
<para>
Kullanıcı girdisi (örn, <varname>$_GET</varname>,
<varname>$_FILES</varname>) gibi güvensiz veriler üzerinde
<function>extract</function> işlevini kullanmayın.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dizi</parameter></term>
<listitem>
<para>
Bir ilişkisel dizi. Bu işlev anahtarları değişken ismi, değerleri de
değişkenin değeri olarak değerlendirir. Her anahtar/değer çifti için
simge tablosunda <parameter>seçenekler</parameter> ve
<parameter>önek</parameter>'e uygun bir değişken oluşturulur.
</para>
<para>
<constant>EXTR_PREFIX_ALL</constant> veya
<constant>EXTR_PREFIX_INVALID</constant> kullanmadıkça bir sayısal
indisli dizi sonuç üretmeyeceğinden bir ilişkisel dizi kullanmanız
gerekir.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>seçenekler</parameter></term>
<listitem>
<para>
Geçersiz veya sayısal anahtarların ve çakışmaların ele alınma yöntemini
belirtmek için kullanılır. Aşağıdaki değerlerden biri olmalıdır:
<variablelist>
<varlistentry>
<term><constant>EXTR_OVERWRITE</constant></term>
<listitem>
<simpara>
Bir çakışma varsa mevcut değişkenin üzerine yazılır.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_SKIP</constant></term>
<listitem>
<simpara>
Bir çakışma varsa mevcut değişkenin üzerine yazılmaz.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_PREFIX_SAME</constant></term>
<listitem>
<simpara>Bir çakışma varsa değişken isminin başına
<parameter>önek</parameter> konur.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_PREFIX_ALL</constant></term>
<listitem>
<simpara>
Tüm değişken isimlerinin başına <parameter>önek</parameter> konur.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_PREFIX_INVALID</constant></term>
<listitem>
<simpara>
Sadece geçersiz veya sayısal indisli değişkerlerin başına
<parameter>önek</parameter> konur.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_IF_EXISTS</constant></term>
<listitem>
<simpara>
Sadece simge tablosunda mevcut değişkenlerin üzerine yazılır, bunun
dışında bir şey yapılmaz. Geçerli değişkenleri bir liste halinde
tanımladıktan sonra bunlardan sadece örneğin
<varname>$_REQUEST</varname> dışında tanımlanmış olanlarını
çıkarmak için yararlıdır.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_PREFIX_IF_EXISTS</constant></term>
<listitem>
<simpara>
Sadece simge tablosunda öneksiz sürümü bulunan değişkenlerin önekli
sürümleri oluşturulur.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>EXTR_REFS</constant></term>
<listitem>
<simpara>
Değişkenler gönderimli olarak çıkarılır. Dahil edilen değişkenler
<parameter>dizi</parameter> değerlerine gönderimli iseler bu
anlamlıdır. Bu seçeneği tek başına ya da VEYAlamak suretiyle başka
bir seçenekle birlikte kullanabilirsiniz.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<parameter>seçenekler</parameter> belirtilmezse
<constant>EXTR_OVERWRITE</constant> belirtilmiş sayılır.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>önek</parameter></term>
<listitem>
<para>
Bu bağımsız değişken sadece <parameter>seçenekler</parameter> olarak
<constant>EXTR_PREFIX_SAME</constant>,
<constant>EXTR_PREFIX_ALL</constant>,
<constant>EXTR_PREFIX_INVALID</constant>
veya <constant>EXTR_PREFIX_IF_EXISTS</constant> belirtilmişse
anlamlıdır. Önekli bir sonuç geçerli bir değişken ismi oluşturmuyorsa
simge tablosuna dahil edilmez. Önekler dizi anahtarlarından otomatik
olarak bir altçizgi karakteri ile ayrılırlar.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Simge tablosuna başarıyla eklenen değişkenlerin sayısı.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- <function>extract</function> örneği</title>
<para>
<function>extract</function> işlevinin olası kullanımlarınadn biri de
<function>wddx_deserialize</function> tarafından döndürülen ilişkisel
dizi içeriğinin simge tablosuna dahil edilmesidir.
</para>
<programlisting role="php">
<![CDATA[
<?php
/* Dizinin wddx_deserialize tarafından döndürülen
bir dizi olduğunu varsayalım */
$boyut = "büyük";
$dizi = array(
"renk" => "mavi",
"boyut" => "orta",
"şekil" => "küre");
extract($dizi, EXTR_PREFIX_SAME, "wddx");
echo "$renk, $boyut, $şekil, $wddx_boyut\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
mavi, büyük, küre, orta
]]>
</screen>
<para>
<varname>$wddx_boyut</varname> değişkeninin oluşturulmasını sağlayan
<constant>EXTR_PREFIX_SAME</constant> seçeneğini belirttiğimizden
<varname>$boyut</varname> değişkeninin üzerine yazılmaz. Eğer seçenek
olarak <constant>EXTR_SKIP</constant> belirtmiş olsaydık
<varname>$wddx_boyut</varname> değişkeni oluşturulmazdı.
<constant>EXTR_OVERWRITE</constant> belirtseydik,
<varname>$size</varname> "orta" değerine sahip olacaktı. Eğer
<constant>EXTR_PREFIX_ALL</constant> belirtmiş olsaydık
<varname>$wddx_renk</varname>,
<varname>$wddx_boyut</varname> ve
<varname>$wddx_şekil</varname> değişkenlerini oluşturmuş olurduk.
</para>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
<function>extract</function> işlevini kullanıcı girdisi
(<varname>$_GET</varname>, <varname>$_FILES</varname>, vb.) gibi güvenilmez
veriler üzerinde kullanmayın. Aksi takdirde, <constant>EXTR_SKIP</constant>
gibi üste yazmayan <parameter>seçenekler</parameter> değerlerini kullanmaya
ve <link linkend="ini">&php.ini;</link> dosyasındaki
<link linkend="ini.variables-order">variables_order</link> yönergesinde
tanımlı sırada çıkartmaya çalışın.
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>compact</function></member>
<member><function>list</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
-->