PHP Dizisi: İlişkisel, Çok Boyutlu

⚡ Akıllı Özet

PHP dizileri, birçok ilişkili değeri tek bir değişken içinde saklayarak, ilgili verilerin gruplandırılmasını ve işlenmesini kolaylaştırır. Bu kılavuz, sayısal, ilişkisel ve çok boyutlu dizileri, dizi karşılaştırma operatörlerini ve count, sort, ksort ve asort gibi temel işlevleri kapsamaktadır.

  • 🧰 Dizilerin İşlevleri: Bir dizi, birçok ayrı değişken yerine sayısal veya adlandırılmış anahtarlar aracılığıyla erişilen, birbiriyle ilişkili birden fazla değeri tek bir değişkende tutar.
  • 🔢 Sayısal Diziler: Sayısal diziler, depolanan her bir öğeyi okumak veya atamak için sıfırdan başlayan tamsayı indeks anahtarları kullanır.
  • ???? ️ İlişkisel Diziler: İlişkisel diziler, adları değerlerle veya haritalarla eşleştirmek için ideal olan açıklayıcı dize anahtarları kullanır.ping Veritabanı alanları.
  • 🧬 Çok boyutlu: Çok boyutlu bir dizi, iç içe diziler oluşturur, gruplarping Filmlerin kategoriye göre düzenlenmesi gibi yapılandırılmış veriler.
  • 🇧🇷 Dizi Operator: Birleştirme operatörü dizileri birleştirirken, == operatörü değer eşitliğini kontrol eder ve === operatörü ayrıca anahtar sırasını ve veri türlerini de kontrol eder.
  • 🔧 Dizi Fonksiyonları: `count`, `is_array`, `sort`, `ksort` ve `asort` fonksiyonları, dizilerin içeriğini değere veya anahtara göre sıralar ve yeniden düzenler.
  • 🤖 Yapay Zeka Yardımı: Yapay zeka araçları, veritabanı satırlarını ilişkisel dizilere dönüştürebilir ve karmaşık çok boyutlu dizi yapılarının hata ayıklamasına yardımcı olabilir.

PHP Dizileri

PHP Dizisi nedir?

PHP dizisi, birden fazla ilgili veriyi tek bir değişkende saklayan bir değişkendir.

Diziyi, içinde yuvalar bulunan bir çikolata kutusu gibi düşünün.

Kutu, dizinin kendisini temsil ederken, çikolata içeren boşluklar dizide saklanan değerleri temsil eder.

Aşağıdaki örnekler bunun nasıl işlediğini göstermektedir.

Sayısal Diziler

Sayısal diziler, erişim anahtarı olarak sayıları kullanır.

Erişim anahtarı, bir dizi değişkenindeki bellek yuvasına yapılan bir başvurudur.

Dizi elemanlarından herhangi birini okumak veya onlara yeni bir değer atamak istediğimizde erişim anahtarı kullanılır.

Aşağıda PHP'de sayısal dizi oluşturmak için kullanılan sözdizimi yer almaktadır.

Dizi Örneği

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, ...);
?>

İŞTE,

  • “$değişken_adı…” değişkenin adıdır
  • “[n]” öğenin erişim indeks numarasıdır
  • “değer” dizi elemanına atanan değerdir.

Şimdi sayısal bir dizi örneğine bakalım.

Dizi değişkenlerinde depolamak istediğimiz 5 filmimiz olduğunu varsayalım.

Bunu yapmak için aşağıda gösterilen örneği kullanabiliriz.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

Burada,

PHP Dizisi

Her filme, değerini almak veya değiştirmek için kullanılan bir indeks numarası verilir. Aşağıdaki koda dikkat edin.

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

Çıktı:

Once upon a time in China Eastern Condors

Yukarıdaki örneklerden de görebileceğiniz gibi, aynı nitelikteki birden çok değerle uğraşırken PHP'de dizilerle çalışmak çok kolay ve esnektir.

Alternatif olarak yukarıdaki dizi değişkenleri aşağıdaki kod kullanılarak da oluşturulabilir.

<?php
$movie = array(0 => "Shaolin Monk",
1 => "Drunken Master",
2 => "American Ninja",
3 => "Once upon a time in China",
4 => "Replacement Killers" );
echo $movie[4];
?>

Çıktı:

Replacement Killers

PHP İlişkisel Dizi

İlişkisel diziler, sayısal dizilerden, kimlik anahtarları için açıklayıcı adlar kullanmaları bakımından farklıdır.

Aşağıda PHP'de ilişkisel dizi oluşturmak için kullanılan sözdizimi verilmiştir.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

İŞTE,

  • “$değişken_adı…” değişkenin adıdır
  • “['key_name']”, öğenin erişim anahtarıdır.
  • “değer” dizi elemanına atanan değerdir.

Diyelim ki bir grup insanımız var ve her birinin cinsiyetini isimlerinin karşısına atamak istiyoruz.

Bunu yapmak için ilişkilendirici bir dizi kullanabiliriz. Aşağıdaki kod bunu yapmamıza yardımcı olur.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>

İŞTE,

PHP Dizisi

Çıktı:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

İlişkisel diziler, veritabanından veri alınırken de çok kullanışlıdır.

Alan adları kimlik anahtarları olarak kullanılır.

PHP Çok boyutlu diziler

Bunlar diğer iç içe geçmiş dizileri içeren dizilerdir.

Çok boyutlu dizilerin avantajı ilgili verileri bir arada gruplandırmamıza olanak sağlamasıdır.

Şimdi PHP'de çok boyutlu bir diziyi uygulayan pratik bir örneğe bakalım.

Aşağıdaki tabloda kategoriye göre filmlerin listesi gösterilmektedir.

Film başlığı Kategoriler
Pembe Panter Komedi
John İngilizce Komedi
Die Hard Action
Gereksiz şeyler Action
yüzüklerin efendisi Destansı
Romeo ve Juliet Romantizm
Kötüyü görme, kötülüğü duyma Komedi

Yukarıdaki bilgiler çok boyutlu bir dizi olarak temsil edilebilir. Aşağıdaki kod uygulamayı göstermektedir.

<?php
$movies = array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

İŞTE,

PHP Dizisi

Çıktı:

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

Aynı diziyi tanımlamanın bir başka yolu da aşağıdaki gibidir.

<?php
$film = array(
"comedy" => array(
0 => "Pink Panther",
1 => "John English",
2 => "See no evil hear no evil"
),
"action" => array (
0 => "Die Hard",
1 => "Expendables"
),
"epic" => array (
0 => "The Lord of the rings"
),
"Romance" => array
(
0 => "Romeo and Juliet"
)
);
echo $film["comedy"][0];
?>

Çıktı:

Pink Panther

Not: Filmler sayısal dizisi, kategoriler ilişkisel dizisinin içine yerleştirilmiştir.

PHP Dizileri: Operaları

Kullanım İsim Açıklama Bunu yapmak için nasıl Çıktı
x+y sendika Her iki dizideki öğeleri birleştirir
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Dizi([id] => 1 [değer] => 10)
x == y Eşit İki diziyi karşılaştırır ve eşitlerse true değerini döndürür.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Doğru veya 1
x === y Aynı Hem değerleri hem de veri tipleri
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Yanlış veya 0
x != y, x <> y Eşit değil İki dizi eşit değilse true değerini döndürür.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Yanlış veya 0
x !== y Özdeş olmayan İki dizinin değer veya tür bakımından özdeş olmaması durumunda true değerini döndürür.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Doğru veya 1

PHP Dizi İşlevleri

Sayma işlevi

`count` fonksiyonu, bir PHP dizisinin içerdiği eleman sayısını saymak için kullanılır. Aşağıdaki kod, uygulamanın nasıl yapıldığını göstermektedir.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Çıktı:

3

is_array işlevi

`is_array` fonksiyonu, bir değişkenin dizi olup olmadığını belirlemek için kullanılır. Şimdi `is_array` fonksiyonunu uygulayan bir örneğe bakalım.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Çıktı:

1

Sırala

Bu fonksiyon, dizileri değerlerine göre sıralamak için kullanılır.

Değerler alfasayısal ise alfabetik sıraya göre sıralar.

Değerler sayısal ise bunları artan düzende sıralar.

Mevcut erişim tuşlarını kaldırır ve yeni sayısal tuşlar ekler.

Bu fonksiyonun çıktısı sayısal bir dizidir.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Çıktı:

Array ( [0] => Female [1] => Female [2] => Male )

sıralama

Bu işlev, diziyi anahtarı kullanarak sıralamak için kullanılır. Aşağıdaki örnek kullanımını göstermektedir.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Çıktı:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

çeşit

Bu işlev Diziyi değerlere göre sıralamak için kullanılırken, diziyi korumak için de aynı işlem kullanılır.ping Tuşlar. Aşağıdaki örnek kullanımını göstermektedir.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Çıktı:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Diziler neden kullanılmalı?

  • Dizilerin içeriği, daha fazla değer tutacak şekilde genişletilebilir.
  • Diziler, sunucu oturum açma bilgileri gibi ilgili bilgileri kolayca bir araya getirmeye yardımcı olur.
  • Diziler daha temiz kod yazmaya yardımcı olur.

SSS

En yaygın yöntem foreach döngüsüdür. Her bir değeri okumak için foreach ($array as $value) veya dizideki her bir elemanın anahtarını ve değerini okumak için foreach ($array as $key => $value) yazabilirsiniz.

`sort()` fonksiyonu değerleri yeniden sıralar ve diziyi yeni sayısal anahtarlarla yeniden indeksler, bu sırada orijinal anahtarlar kaybolur. `asort()` fonksiyonu ise değere göre sıralama yapar ancak her değeri orijinal anahtarıyla ilişkilendirir; bu da ilişkisel diziler için önemlidir.

Diziye eleman eklemek için `array_push()` veya `$arr[] = value`, sondan veya baştan kaldırmak için ise `array_pop()` veya `array_shift()` fonksiyonlarını kullanın. Belirli bir elemanı anahtar ile silmek için `unset()` fonksiyonunu kullanın.

Evet. Yapay zeka, her satırı sütun adına göre anahtarlanmış bir ilişkisel diziye eşleyen veri alma döngüsünü yazabilir ve veritabanı sürücünüzden doğrudan ilişkisel diziler döndüren veri alma yöntemlerini kullanmanızı önerebilir.

Evet. print_r veya var_dump çıktısını yapıştırın, AI iç içe geçmeyi açıklayabilir, $film['comedy'][0] gibi bir değere giden tam yolu gösterebilir ve uyuşmayan anahtarları veya seviyeleri tespit edebilir.

Bu yazıyı şu şekilde özetleyin: