<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[KodlarTR - PHP]]></title>
		<link>https://kodlar.tr/</link>
		<description><![CDATA[KodlarTR - https://kodlar.tr]]></description>
		<pubDate>Fri, 15 May 2026 11:25:52 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Dizilerle Çalışma ve Array_map]]></title>
			<link>https://kodlar.tr/konu-dizilerle-calisma-ve-array-map.html</link>
			<pubDate>Wed, 11 Jun 2025 18:43:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-dizilerle-calisma-ve-array-map.html</guid>
			<description><![CDATA[Dizilerle Çalışma ve Array_map<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>PHP, web uygulamaları geliştirirken veri işleme konusunda oldukça güçlüdür ve bu verilerin büyük bir kısmı genellikle <span style="font-weight: bold;" class="mycode_b">diziler</span> (arrays) şeklinde tutulur. Dizilerle çalışırken verileri dönüştürmek, filtrelemek veya belirli işlemlerden geçirmek sıkça karşılaşılan bir ihtiyaçtır. İşte burada devreye <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> fonksiyonu girer.<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> fonksiyonu, bir dizinin her bir elemanına bir geri çağırma (callback) fonksiyonu uygulayarak yeni bir dizi döndürür. Bu, özellikle karmaşık döngüler yazmak yerine daha temiz ve okunabilir kodlar oluşturmanızı sağlar.<br />
Temel Kullanım<br />
Önce basit bir örnekle başlayalım. Bir sayı dizisindeki her sayıyı ikiyle çarpalım:<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
// Sayı dizimiz<br />
&#36;sayilar = [1, 2, 3, 4, 5];<br />
// Her sayıyı ikiyle çarpan anonim bir fonksiyon (callback)<br />
&#36;ikiyle_carp = function(&#36;sayi) {<br />
    return &#36;sayi * 2;<br />
};<br />
// array_map kullanarak her elemana fonksiyonu uygula<br />
&#36;iki_kat_sayilar = array_map(&#36;ikiyle_carp, &#36;sayilar);<br />
echo "Orjinal Sayılar: ";<br />
print_r(&#36;sayilar);<br />
echo "İki Katı Sayılar: ";<br />
print_r(&#36;iki_kat_sayilar);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Orjinal Sayılar: Array<br />
(<br />
    [0] =&gt; 1<br />
    [1] =&gt; 2<br />
    [2] =&gt; 3<br />
    [3] =&gt; 4<br />
    [4] =&gt; 5<br />
)<br />
İki Katı Sayılar: Array<br />
(<br />
    [0] =&gt; 2<br />
    [1] =&gt; 4<br />
    [2] =&gt; 6<br />
    [3] =&gt; 8<br />
    [4] =&gt; 10<br />
)</code></div></div>Bu örnekte, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&#36;ikiyle_carp</code></div></div> adında <span style="font-weight: bold;" class="mycode_b">anonim bir fonksiyon</span> tanımladık ve <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'e ilk parametre olarak verdik. İkinci parametre ise üzerinde işlem yapılacak dizimiz <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&#36;sayilar</code></div></div>. Sonuç olarak her elemanı dönüştürülmüş yeni bir dizi elde ettik.<br />
Birden Fazla Diziyle Çalışma<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'in güzel özelliklerinden biri de birden fazla diziyle aynı anda çalışabilmesidir. Callback fonksiyonunuz, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'e geçirdiğiniz her diziden birer eleman alacaktır.<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
&#36;ilk_dizi = [10, 20, 30];<br />
&#36;ikinci_dizi = [1, 2, 3];<br />
// İki dizinin elemanlarını toplayan fonksiyon<br />
&#36;toplama_fonksiyonu = function(&#36;deger1, &#36;deger2) {<br />
    return &#36;deger1 + &#36;deger2;<br />
};<br />
// array_map ile iki dizinin elemanlarını topla<br />
&#36;toplamlar = array_map(&#36;toplama_fonksiyonu, &#36;ilk_dizi, &#36;ikinci_dizi);<br />
echo "Toplamlar: ";<br />
print_r(&#36;toplamlar);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Toplamlar: Array<br />
(<br />
    [0] =&gt; 11<br />
    [1] =&gt; 22<br />
    [2] =&gt; 33<br />
)</code></div></div>Karmaşık Dizilerde Kullanım (Nesne Dizisi Örneği)<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'i genellikle veritabanından çektiğiniz veya bir API'den aldığınız <span style="font-weight: bold;" class="mycode_b">nesne dizileri</span> üzerinde de kullanabilirsiniz. Diyelim ki, kullanıcı nesnelerinden oluşan bir dizimiz var ve sadece kullanıcı adlarını almak istiyoruz:<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
class Kullanici {<br />
    public &#36;id;<br />
    public &#36;ad;<br />
    public &#36;email;<br />
    public function __construct(&#36;id, &#36;ad, &#36;email) {<br />
        &#36;this-&gt;id = &#36;id;<br />
        &#36;this-&gt;ad = &#36;ad;<br />
        &#36;this-&gt;email = &#36;email;<br />
    }<br />
}<br />
&#36;kullanicilar = [<br />
    new Kullanici(1, "Ali Yılmaz", "ali@example.com"),<br />
    new Kullanici(2, "Ayşe Demir", "ayse@example.com"),<br />
    new Kullanici(3, "Mehmet Can", "mehmet@example.com"),<br />
];<br />
// Her kullanıcı nesnesinden sadece 'ad' özelliğini al<br />
&#36;kullanici_adlari = array_map(function(&#36;kullanici) {<br />
    return &#36;kullanici-&gt;ad;<br />
}, &#36;kullanicilar);<br />
echo "Kullanıcı Adları: ";<br />
print_r(&#36;kullanici_adlari);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Kullanıcı Adları: Array<br />
(<br />
    [0] =&gt; Ali Yılmaz<br />
    [1] =&gt; Ayşe Demir<br />
    [2] =&gt; Mehmet Can<br />
)</code></div></div><hr class="mycode_hr" />
Neden <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> Kullanmalıyız?<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Okunabilirlik:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>foreach</code></div></div> döngüsüne göre daha kısa ve niyetinizi daha net belli eden bir yazım sunar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Fonksiyonel Programlama:</span> Veri dönüşümlerini daha fonksiyonel bir yaklaşımla yapmanızı sağlar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Performans:</span> Genellikle büyük dizilerde <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>foreach</code></div></div> döngülerine kıyasla daha optimize çalışabilir, ancak bu durum kullanıma göre değişebilir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Esneklik:</span> Anonim fonksiyonlarla birlikte kullanıldığında çok esnek veri dönüşümleri yapmanıza olanak tanır.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[Dizilerle Çalışma ve Array_map<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>PHP, web uygulamaları geliştirirken veri işleme konusunda oldukça güçlüdür ve bu verilerin büyük bir kısmı genellikle <span style="font-weight: bold;" class="mycode_b">diziler</span> (arrays) şeklinde tutulur. Dizilerle çalışırken verileri dönüştürmek, filtrelemek veya belirli işlemlerden geçirmek sıkça karşılaşılan bir ihtiyaçtır. İşte burada devreye <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> fonksiyonu girer.<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> fonksiyonu, bir dizinin her bir elemanına bir geri çağırma (callback) fonksiyonu uygulayarak yeni bir dizi döndürür. Bu, özellikle karmaşık döngüler yazmak yerine daha temiz ve okunabilir kodlar oluşturmanızı sağlar.<br />
Temel Kullanım<br />
Önce basit bir örnekle başlayalım. Bir sayı dizisindeki her sayıyı ikiyle çarpalım:<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
// Sayı dizimiz<br />
&#36;sayilar = [1, 2, 3, 4, 5];<br />
// Her sayıyı ikiyle çarpan anonim bir fonksiyon (callback)<br />
&#36;ikiyle_carp = function(&#36;sayi) {<br />
    return &#36;sayi * 2;<br />
};<br />
// array_map kullanarak her elemana fonksiyonu uygula<br />
&#36;iki_kat_sayilar = array_map(&#36;ikiyle_carp, &#36;sayilar);<br />
echo "Orjinal Sayılar: ";<br />
print_r(&#36;sayilar);<br />
echo "İki Katı Sayılar: ";<br />
print_r(&#36;iki_kat_sayilar);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Orjinal Sayılar: Array<br />
(<br />
    [0] =&gt; 1<br />
    [1] =&gt; 2<br />
    [2] =&gt; 3<br />
    [3] =&gt; 4<br />
    [4] =&gt; 5<br />
)<br />
İki Katı Sayılar: Array<br />
(<br />
    [0] =&gt; 2<br />
    [1] =&gt; 4<br />
    [2] =&gt; 6<br />
    [3] =&gt; 8<br />
    [4] =&gt; 10<br />
)</code></div></div>Bu örnekte, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&#36;ikiyle_carp</code></div></div> adında <span style="font-weight: bold;" class="mycode_b">anonim bir fonksiyon</span> tanımladık ve <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'e ilk parametre olarak verdik. İkinci parametre ise üzerinde işlem yapılacak dizimiz <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&#36;sayilar</code></div></div>. Sonuç olarak her elemanı dönüştürülmüş yeni bir dizi elde ettik.<br />
Birden Fazla Diziyle Çalışma<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'in güzel özelliklerinden biri de birden fazla diziyle aynı anda çalışabilmesidir. Callback fonksiyonunuz, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'e geçirdiğiniz her diziden birer eleman alacaktır.<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
&#36;ilk_dizi = [10, 20, 30];<br />
&#36;ikinci_dizi = [1, 2, 3];<br />
// İki dizinin elemanlarını toplayan fonksiyon<br />
&#36;toplama_fonksiyonu = function(&#36;deger1, &#36;deger2) {<br />
    return &#36;deger1 + &#36;deger2;<br />
};<br />
// array_map ile iki dizinin elemanlarını topla<br />
&#36;toplamlar = array_map(&#36;toplama_fonksiyonu, &#36;ilk_dizi, &#36;ikinci_dizi);<br />
echo "Toplamlar: ";<br />
print_r(&#36;toplamlar);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Toplamlar: Array<br />
(<br />
    [0] =&gt; 11<br />
    [1] =&gt; 22<br />
    [2] =&gt; 33<br />
)</code></div></div>Karmaşık Dizilerde Kullanım (Nesne Dizisi Örneği)<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div>'i genellikle veritabanından çektiğiniz veya bir API'den aldığınız <span style="font-weight: bold;" class="mycode_b">nesne dizileri</span> üzerinde de kullanabilirsiniz. Diyelim ki, kullanıcı nesnelerinden oluşan bir dizimiz var ve sadece kullanıcı adlarını almak istiyoruz:<br />
PHP<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>&lt;?php<br />
class Kullanici {<br />
    public &#36;id;<br />
    public &#36;ad;<br />
    public &#36;email;<br />
    public function __construct(&#36;id, &#36;ad, &#36;email) {<br />
        &#36;this-&gt;id = &#36;id;<br />
        &#36;this-&gt;ad = &#36;ad;<br />
        &#36;this-&gt;email = &#36;email;<br />
    }<br />
}<br />
&#36;kullanicilar = [<br />
    new Kullanici(1, "Ali Yılmaz", "ali@example.com"),<br />
    new Kullanici(2, "Ayşe Demir", "ayse@example.com"),<br />
    new Kullanici(3, "Mehmet Can", "mehmet@example.com"),<br />
];<br />
// Her kullanıcı nesnesinden sadece 'ad' özelliğini al<br />
&#36;kullanici_adlari = array_map(function(&#36;kullanici) {<br />
    return &#36;kullanici-&gt;ad;<br />
}, &#36;kullanicilar);<br />
echo "Kullanıcı Adları: ";<br />
print_r(&#36;kullanici_adlari);<br />
?&gt;</code></div></div><span style="font-weight: bold;" class="mycode_b">Çıktı:</span><br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Kullanıcı Adları: Array<br />
(<br />
    [0] =&gt; Ali Yılmaz<br />
    [1] =&gt; Ayşe Demir<br />
    [2] =&gt; Mehmet Can<br />
)</code></div></div><hr class="mycode_hr" />
Neden <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>array_map</code></div></div> Kullanmalıyız?<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Okunabilirlik:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>foreach</code></div></div> döngüsüne göre daha kısa ve niyetinizi daha net belli eden bir yazım sunar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Fonksiyonel Programlama:</span> Veri dönüşümlerini daha fonksiyonel bir yaklaşımla yapmanızı sağlar.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Performans:</span> Genellikle büyük dizilerde <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>foreach</code></div></div> döngülerine kıyasla daha optimize çalışabilir, ancak bu durum kullanıma göre değişebilir.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Esneklik:</span> Anonim fonksiyonlarla birlikte kullanıldığında çok esnek veri dönüşümleri yapmanıza olanak tanır.<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PHP String İçinde Arama Örneği]]></title>
			<link>https://kodlar.tr/konu-php-string-icinde-arama-ornegi.html</link>
			<pubDate>Fri, 09 May 2025 18:18:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-php-string-icinde-arama-ornegi.html</guid>
			<description><![CDATA[PHP String İçinde Arama Örneği<br />
<br />
<br />
<br />
<br />
PHP ile ilgili yaygın bir senaryo ve çözümünü içeren bir kod parçacığı örneği hazırlayacağım.<br />
Bu örnekte, bir metin (string) içerisinde belirli bir kelimenin veya karakter dizisinin (substring) olup olmadığını nasıl kontrol edebileceğimizi göstereceğim. Bu, web geliştirmede sıkça karşılaşılan bir durumdur; örneğin kullanıcı girdilerini doğrulamak, metin analizi yapmak veya belirli anahtar kelimeleri aramak için kullanılabilir.<br />
Aşağıdaki kodda, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>str_contains()</code></div></div> (PHP 8+) ve <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>strpos()</code></div></div> (eski PHP versiyonları için de geçerli) fonksiyonlarını kullanarak bu kontrolün nasıl yapıldığını göreceksiniz.<br />
<br />
Bu PHP kodu, bir metin içerisinde belirli bir alt dizinin varlığını kontrol etmenin iki yaygın yolunu göstermektedir:<br />
<ol type="1" class="mycode_list"><li><div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>str_contains()</code></div></div>: PHP 8.0 ve sonrasında sunulan, okunabilirliği yüksek ve doğrudan bu amaç için tasarlanmış bir fonksiyondur.<br />
</li>
<li><div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>strpos()</code></div></div>: Daha eski PHP sürümlerinde de çalışan bu fonksiyon, alt dizinin metin içindeki ilk konumunu döndürür. Eğer alt dizi bulunamazsa <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>false</code></div></div> değeri döndürür. Bu fonksiyonu kullanırken, bulunan konum <br />
 (yani metnin en başı) olabileceği için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>false</code></div></div> ile katı karşılaştırma (<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>!==</code></div></div>) yapmak önemlidir. Ayrıca, büyük/küçük harf duyarlılığını göz ardı ederek arama yapmak için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>stripos()</code></div></div> fonksiyonunun nasıl kullanılacağı da gösterilmiştir.<br />
</li>
</ol>
<br />
<br />
<br />
<br />
&lt;?php<br />
<br />
// Aranacak ana metin<br />
&#36;anaMetin = "Merhaba dünya, bu bir PHP örneğidir.";<br />
<br />
// Aranacak kelime veya karakter dizisi<br />
&#36;arananKelime = "dünya";<br />
&#36;aranmayanKelime = "javascript";<br />
<br />
echo "Ana Metin: '" . &#36;anaMetin . "'\n\n";<br />
<br />
// --- Çözüm 1: str_contains() fonksiyonu (PHP 8.0 ve üzeri için önerilir) ---<br />
echo "--- str_contains() ile Kontrol ---\n";<br />
<br />
if (str_contains(&#36;anaMetin, &#36;arananKelime)) {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
if (str_contains(&#36;anaMetin, &#36;aranmayanKelime)) {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
echo "\n";<br />
<br />
// --- Çözüm 2: strpos() fonksiyonu (Tüm PHP versiyonları ile uyumlu) ---<br />
// strpos() fonksiyonu, bulunan kelimenin başlangıç pozisyonunu döndürür.<br />
// Eğer kelime bulunamazsa false döndürür.<br />
// Dikkat: Pozisyon 0 (sıfır) olabileceğinden (metnin başında bulunursa),<br />
// katı karşılaştırma (=== veya !==) kullanmak önemlidir.<br />
echo "--- strpos() ile Kontrol ---\n";<br />
<br />
if (strpos(&#36;anaMetin, &#36;arananKelime) !== false) {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
if (strpos(&#36;anaMetin, &#36;aranmayanKelime) !== false) {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
echo "\n";<br />
<br />
// Büyük/küçük harf duyarsız arama için stripos() kullanılabilir<br />
&#36;anaMetinKucukBuyuk = "Merhaba Dünya, bu bir PHP örneğidir.";<br />
&#36;arananKelimeKucuk = "dünya";<br />
<br />
echo "--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---\n";<br />
echo "Ana Metin (Büyük/Küçük Karışık): '" . &#36;anaMetinKucukBuyuk . "'\n";<br />
echo "Aranan Kelime (Küçük Harf): '" . &#36;arananKelimeKucuk . "'\n";<br />
<br />
if (stripos(&#36;anaMetinKucukBuyuk, &#36;arananKelimeKucuk) !== false) {<br />
    echo "'" . &#36;arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulunamadı.\n";<br />
}<br />
<br />
/*<br />
Çıktı Nasıl Olacak:<br />
<br />
Ana Metin: 'Merhaba dünya, bu bir PHP örneğidir.'<br />
<br />
--- str_contains() ile Kontrol ---<br />
'dünya' kelimesi metin içinde bulundu.<br />
'javascript' kelimesi metin içinde bulunamadı.<br />
<br />
--- strpos() ile Kontrol ---<br />
'dünya' kelimesi metin içinde bulundu.<br />
'javascript' kelimesi metin içinde bulunamadı.<br />
<br />
--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---<br />
Ana Metin (Büyük/Küçük Karışık): 'Merhaba Dünya, bu bir PHP örneğidir.'<br />
Aranan Kelime (Küçük Harf): 'dünya'<br />
'dünya' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.<br />
<br />
*/<br />
<br />
?&gt;]]></description>
			<content:encoded><![CDATA[PHP String İçinde Arama Örneği<br />
<br />
<br />
<br />
<br />
PHP ile ilgili yaygın bir senaryo ve çözümünü içeren bir kod parçacığı örneği hazırlayacağım.<br />
Bu örnekte, bir metin (string) içerisinde belirli bir kelimenin veya karakter dizisinin (substring) olup olmadığını nasıl kontrol edebileceğimizi göstereceğim. Bu, web geliştirmede sıkça karşılaşılan bir durumdur; örneğin kullanıcı girdilerini doğrulamak, metin analizi yapmak veya belirli anahtar kelimeleri aramak için kullanılabilir.<br />
Aşağıdaki kodda, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>str_contains()</code></div></div> (PHP 8+) ve <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>strpos()</code></div></div> (eski PHP versiyonları için de geçerli) fonksiyonlarını kullanarak bu kontrolün nasıl yapıldığını göreceksiniz.<br />
<br />
Bu PHP kodu, bir metin içerisinde belirli bir alt dizinin varlığını kontrol etmenin iki yaygın yolunu göstermektedir:<br />
<ol type="1" class="mycode_list"><li><div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>str_contains()</code></div></div>: PHP 8.0 ve sonrasında sunulan, okunabilirliği yüksek ve doğrudan bu amaç için tasarlanmış bir fonksiyondur.<br />
</li>
<li><div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>strpos()</code></div></div>: Daha eski PHP sürümlerinde de çalışan bu fonksiyon, alt dizinin metin içindeki ilk konumunu döndürür. Eğer alt dizi bulunamazsa <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>false</code></div></div> değeri döndürür. Bu fonksiyonu kullanırken, bulunan konum <br />
 (yani metnin en başı) olabileceği için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>false</code></div></div> ile katı karşılaştırma (<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>!==</code></div></div>) yapmak önemlidir. Ayrıca, büyük/küçük harf duyarlılığını göz ardı ederek arama yapmak için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>stripos()</code></div></div> fonksiyonunun nasıl kullanılacağı da gösterilmiştir.<br />
</li>
</ol>
<br />
<br />
<br />
<br />
&lt;?php<br />
<br />
// Aranacak ana metin<br />
&#36;anaMetin = "Merhaba dünya, bu bir PHP örneğidir.";<br />
<br />
// Aranacak kelime veya karakter dizisi<br />
&#36;arananKelime = "dünya";<br />
&#36;aranmayanKelime = "javascript";<br />
<br />
echo "Ana Metin: '" . &#36;anaMetin . "'\n\n";<br />
<br />
// --- Çözüm 1: str_contains() fonksiyonu (PHP 8.0 ve üzeri için önerilir) ---<br />
echo "--- str_contains() ile Kontrol ---\n";<br />
<br />
if (str_contains(&#36;anaMetin, &#36;arananKelime)) {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
if (str_contains(&#36;anaMetin, &#36;aranmayanKelime)) {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
echo "\n";<br />
<br />
// --- Çözüm 2: strpos() fonksiyonu (Tüm PHP versiyonları ile uyumlu) ---<br />
// strpos() fonksiyonu, bulunan kelimenin başlangıç pozisyonunu döndürür.<br />
// Eğer kelime bulunamazsa false döndürür.<br />
// Dikkat: Pozisyon 0 (sıfır) olabileceğinden (metnin başında bulunursa),<br />
// katı karşılaştırma (=== veya !==) kullanmak önemlidir.<br />
echo "--- strpos() ile Kontrol ---\n";<br />
<br />
if (strpos(&#36;anaMetin, &#36;arananKelime) !== false) {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
if (strpos(&#36;anaMetin, &#36;aranmayanKelime) !== false) {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";<br />
}<br />
<br />
echo "\n";<br />
<br />
// Büyük/küçük harf duyarsız arama için stripos() kullanılabilir<br />
&#36;anaMetinKucukBuyuk = "Merhaba Dünya, bu bir PHP örneğidir.";<br />
&#36;arananKelimeKucuk = "dünya";<br />
<br />
echo "--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---\n";<br />
echo "Ana Metin (Büyük/Küçük Karışık): '" . &#36;anaMetinKucukBuyuk . "'\n";<br />
echo "Aranan Kelime (Küçük Harf): '" . &#36;arananKelimeKucuk . "'\n";<br />
<br />
if (stripos(&#36;anaMetinKucukBuyuk, &#36;arananKelimeKucuk) !== false) {<br />
    echo "'" . &#36;arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.\n";<br />
} else {<br />
    echo "'" . &#36;arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulunamadı.\n";<br />
}<br />
<br />
/*<br />
Çıktı Nasıl Olacak:<br />
<br />
Ana Metin: 'Merhaba dünya, bu bir PHP örneğidir.'<br />
<br />
--- str_contains() ile Kontrol ---<br />
'dünya' kelimesi metin içinde bulundu.<br />
'javascript' kelimesi metin içinde bulunamadı.<br />
<br />
--- strpos() ile Kontrol ---<br />
'dünya' kelimesi metin içinde bulundu.<br />
'javascript' kelimesi metin içinde bulunamadı.<br />
<br />
--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---<br />
Ana Metin (Büyük/Küçük Karışık): 'Merhaba Dünya, bu bir PHP örneğidir.'<br />
Aranan Kelime (Küçük Harf): 'dünya'<br />
'dünya' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.<br />
<br />
*/<br />
<br />
?&gt;]]></content:encoded>
		</item>
	</channel>
</rss>