mirror of
https://github.com/php/doc-tr.git
synced 2026-03-24 15:22:23 +01:00
246 lines
7.6 KiB
XML
246 lines
7.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 2a5223230bf6177c225003ca30c63f48ef266cc0 Maintainer: nilgun Status: ready -->
|
||
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.echo">
|
||
<refnamediv>
|
||
<refname>echo</refname>
|
||
<refpurpose>Bir veya daha fazla dizgeyi çıktılar</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis>
|
||
<type>void</type><methodname>echo</methodname>
|
||
<methodparam rep="repeat"><type>string</type><parameter>ifadeler</parameter></methodparam>
|
||
</methodsynopsis>
|
||
<simpara>
|
||
Tüm bağımsız değişkenlerini çıktılar.
|
||
</simpara>
|
||
<para>
|
||
<literal>echo</literal> aslında bir işlev değil bir dil oluşumudur, yani
|
||
bağımsız değişkenlerini yaylı ayraçlar arasına almak gerekmez.
|
||
Bağımsız değişkenleri, <literal>echo</literal> anahtar sözcüğünü izleyen,
|
||
virgüllerle ayrılmış ve parantez içine alınmamış ifadelerden oluşur.
|
||
Diğer bazı dil oluşumlarının aksine, <literal>echo</literal>'nun herhangi
|
||
bir dönüş değeri yoktur, bu nedenle bir ifade bağlamında kullanılamaz.
|
||
</para>
|
||
<para>
|
||
<literal>echo</literal> ayrıca kısaltılmış bir sözdizimine de sahiptir.
|
||
Bir açan PHP etiketinin ardına bir eşit işareti koyup dizgeyi ardına
|
||
yazmanız yeterlidir. Bu kısa sözdizimi <link
|
||
linkend="ini.short-open-tag">short_open_tag</link> yapılandırma yönergesi
|
||
iptal edilmiş olsa bile kullanılır. Örnek:
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
I have <?=$foo?> foo.
|
||
]]>
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<para>
|
||
<function>print</function> işlevine göre başlıca fark
|
||
<literal>echo</literal>'nun çok sayıda bağımsız değişken kabul etmesi ve
|
||
bir dönüş değerinin olmamasıdır.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>ifadeler</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Virgüllerle ayrılmış bir veya daha fazla dizge ifadesi.
|
||
Dizge olmayan değerler,
|
||
<link linkend="language.types.declarations.strict">
|
||
<literal>strict_types</literal></link> yönergesi etkin olsa bile
|
||
dizgeye zorlanır.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<para>
|
||
&return.void;
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<para>
|
||
<example>
|
||
<title>- <literal>echo</literal> örnekleri</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
echo "echo için parantez gerekmez";
|
||
|
||
// Dizgeler ya çoklu bağımsız değişkenler olarak tek tek aktarılır
|
||
// ya da birbirlerine eklenip tek bir bağımsız değişken olarak aktarılır
|
||
echo 'Bu ', 'dizge ', 'çok sayıda', 'bağımsız değişken ', 'ile yapıldı.', "\n";
|
||
echo 'Bu ' . 'dizge ' . 'çok sayıda ' . 'bağımsız değişken ' . 'birbirine eklenerek yapıldı.' . "\n";
|
||
|
||
// Satırsonu karakteri veya boşluk eklemek gerekmez
|
||
// bu iki satır tek satırlık "merhabaDünya" çıktılar
|
||
echo "merhaba";
|
||
echo "Dünya";
|
||
|
||
// Yukarıdaki ile aynı sonucu verir
|
||
echo "merhaba", "Dünya";
|
||
|
||
echo "Bu dizge
|
||
çok satırlıdır. Satırsonu
|
||
karakterleri de çıktılanır.";
|
||
|
||
echo "Bu dizge\nçok satırlıdır. Satırsonu\nkarakterleri de çıktılanır.";
|
||
|
||
// Bağımsız değişken bir dizge üreten herhangi bir ifade olabilir
|
||
$buda = "Buda";
|
||
echo "Bu da $buda"; // Bu da Buda
|
||
|
||
$meyveler = ["limon", "portakal", "muz"];
|
||
echo implode(" ve ", $meyveler); // limon ve porakal ve muz
|
||
|
||
// declare(strict_types=1) kullanılmış olsa bile
|
||
// dizge olmayan ifadeler dizgeye zorlanır
|
||
echo 6 * 7; // 42
|
||
|
||
// echo bir ifade gibi davranmadığından bu ifade geçersizdir
|
||
($ifade) ? echo 'true' : echo 'false';
|
||
|
||
// Ama bu örnek çalışır:
|
||
($ifade) ? print 'true' : print 'false'; // print de bir dil oluşumudur, ama
|
||
// geçerli bir ifadedir, 1 döndürür,
|
||
// dolayısıyla bu bağlamda geçerlidir.
|
||
|
||
// Burada ifade değerlendirildikten sonra echo'ya aktarılmaktadır
|
||
echo $some_var ? 'true': 'false';
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="notes">
|
||
&reftitle.notes;
|
||
¬e.language-construct;
|
||
<note>
|
||
<title>- Parantezli kullanım</title>
|
||
<para>
|
||
Tek bir bağımsız değişkeni parantezlerle çevrelemek bir sözdizimi hatası oluşturmaz
|
||
ve normal bir işlev çağrısı gibi görünen sözdizimi üretir. Bununla birlikte,
|
||
bu yanıltıcı olabilir, çünkü parantezler aslında <literal>echo</literal>
|
||
sözdiziminin bir parçası değil, bağımsız değişken olarak verilen ifadenin bir
|
||
parçasıdır.
|
||
</para>
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
echo "hello";
|
||
// "hello" basar
|
||
|
||
echo("hello");
|
||
// bu da "hello" basar, çünkü ("hello") geçerli bir ifadedir
|
||
|
||
echo(1 + 2) * 3;
|
||
// "9" basar; parantezler 1+2'nin önce değerlendirilip sonra 3 ile
|
||
// çarpılmasını sağlar. İfade değerlendirildikten sonra echo'ya
|
||
// aktarıldığından echo ifadenin tümünü tek bir bağımsız değişken olarak görür.
|
||
|
||
echo "hello", " world";
|
||
// "hello world" basar
|
||
|
||
echo("hello"), (" world");
|
||
// "hello world" basar; Parantezler ifadenin parçasıdır
|
||
|
||
echo("hello", " world");
|
||
// Bir çözümleme hatası oluşur, çünkü ("hello", " world") geçersiz bir ifadedir
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</informalexample>
|
||
</note>
|
||
<tip>
|
||
<para>
|
||
<literal>echo</literal>'ya birden çok bağımsız değişken aktarmak, PHP'deki
|
||
bitiştirme işlecinin önceliğinden kaynaklanan karışıklıkları önleyebilir.
|
||
Örneğin, birleştirme işleci üçlü işleçten daha yüksek önceliğe sahiptir ve
|
||
PHP 8.0.0'dan önce toplama ve çıkarma ile aynı önceliğe sahipti:
|
||
</para>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// Önce 'Hello ' . isset($name) ifadesi değerlendirilir,
|
||
// sonuç daima true olur, bu bakımdan sadece $name basılır
|
||
echo 'Hello ' . isset($name) ? $name : 'John Doe' . '!';
|
||
|
||
// Amaçlanan davranış daha fazla parantez gerektirir
|
||
echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';
|
||
|
||
// PHP 8.0.0 öncesinde, "Sum: 3" yerine "2" basılırdı
|
||
echo 'Sum: ' . 1 + 2;
|
||
|
||
// Bu kez de parentez eklenerek amaçlanan davranış elde edilebilir
|
||
echo 'Sum: ' . (1 + 2);
|
||
]]>
|
||
</programlisting>
|
||
<para>
|
||
Çok sayıda bağımsız değişken aktarılırsa önceliği devreye sokmak için parantezler
|
||
gerekmez, çünkü her ifade ayrı değerlendirilir:I
|
||
</para>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
echo "Hello ", isset($name) ? $name : "John Doe", "!";
|
||
|
||
echo "Sum: ", 1 + 2;
|
||
]]>
|
||
</programlisting>
|
||
</tip>
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<para>
|
||
<simplelist>
|
||
<member><function>print</function></member>
|
||
<member><function>printf</function></member>
|
||
<member><function>flush</function></member>
|
||
<member><link linkend="language.types.string">Sayısal dizgeleri belirtme
|
||
yolları</link></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
|
||
-->
|