Dizi Kütüphanesi
"Şablon sihirbazında (Wizard) (5.5.60) sürümünden beri döngülerin sonunda kullanılan : sembolünün kullanım zorunluluğu kaldırılmıştır."
Dizilerle ilgili işlemlerin gerçekleştirilmesi için oluşturulmuş kütüphanedir. Bazı yöntemlerin kullanımını prosedürel kullanım ile paralellik göstermekte iken bazılar ise kullanım noktasında farklılıklar içermektedir. Bu kütüphanenin oluşturulmasındaki amaç sadece fonksiyonları sınıf haline getirmek değildir. Bu fonksiyonların derlenip daha kolay ve kullanışlı işlevler haline getirilmesidir.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-datatypes
# Yöntemler
# Add
Diziye eleman eklemek için kullanılır. Arrays::addFirst() ve Arrays::addLast() olmak üzere iki yöntemde oluşur.
Parametreler
array $arr | İlgili dizi. |
mixed $data | Eklenecek yeni değer veya değerler. |
return array |
Dizinin başına eleman ekler.
$data = ['example' => 'Example'];
$data = Arrays::addFirst($data, 'newElement');
$data = Arrays::addFirst($data, ['firstElement' => 'First Element']);
output($data);
0 => string 'newElement' ( length = 12 ),
example => string 'Example' ( length = 9 )
Dizinin sonuna eleman eklemek için kullanılır.
$data = ['example' => 'Example'];
$data = Arrays::addLast($data, 'newElement');
$data = Arrays::addLast($data,
[
'lastElement' => 'Last Element',
'lastestElement' => 'Lastest Element'
]);
output($data);
0 => string 'newElement' ( length = 12 ),
lastElement => string 'Last Element' ( length = 14 ),
lastestElement => string 'Lastest Element' ( length = 17 )
# Apportion
Diziyi belirlenen sayıda bölümlere ayırmak için kullanılır.
Parametreler
array $arr | İlgili dizi. |
int $portionCount = 1 | Kaçar adet bölümlere ayrılacağı belirtilir. |
bool $preserveKey = false | İşlemden sonra dizi anahtarlarının korunup korunmayacağı. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::apportion($data, 2) );
(
0 => string 'Foo' ( length = 5 ),
1 => string 'Bar' ( length = 5 ),
),
1 => array
(
0 => string 'Baz' ( length = 5 ),
)
# Casing
Dizi elemanlarında büyük küçük harf dönüşümü yapmak için kullanılır.
Parametreler
array $arr | İlgili dizi. | |
string $type = 'lower' | Dönüştürülme türü. | |
Seçenekler | lower, upper, title | |
string $keyval = 'all' | Dönüşümün uygulanma alanı. Yani sadece anahtarları mı, değerleri mi yoksa hepsine mi belirtilir. | |
Seçenekler | all, key, value | |
return array |
Kullanımı
output(Arrays::casing($data, 'upper')); // Keys, Values Upper
output('-----------------------------------');
output(Arrays::casing($data, 'upper', 'key')); // Only Keys Upper
output('-----------------------------------');
output(Arrays::casing($data, 'upper', 'value')); // Only Values Upper
BAR => string 'BAR' ( length = 5 ),
BAZ => string 'BAZ' ( length = 5 ),
ZOO => string 'ZOO' ( length = 5 ),
-----------------------------------
FOO => string 'Foo' ( length = 5 ),
BAR => string 'Bar' ( length = 5 ),
BAZ => string 'Baz' ( length = 5 ),
ZOO => string 'Zoo' ( length = 5 ),
-----------------------------------
foo => string 'FOO' ( length = 5 ),
bar => string 'BAR' ( length = 5 ),
baz => string 'BAZ' ( length = 5 ),
zoo => string 'ZOO' ( length = 5 )
Dizi anahtarlarını küçük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::lowerKeys($data));
bar => string 'Bar' ( length = 5 ),
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 )
Dizi anahtarlarının sadece baş harflerini büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::titleKeys($data));
Bar => string 'Bar' ( length = 5 ),
Baz => string 'Baz' ( length = 5 ),
Zoo => string 'Zoo' ( length = 5 )
Dizi anahtarlarını büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::upperKeys($data));
BAR => string 'Bar' ( length = 5 ),
BAZ => string 'Baz' ( length = 5 ),
ZOO => string 'Zoo' ( length = 5 )
Dizi değerlerini küçük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::lowerValues($data));
bar => string 'bar' ( length = 5 ),
baz => string 'baz' ( length = 5 ),
zoo => string 'zoo' ( length = 5 )
Dizi değerlerinin sadece baş harflerini büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::titleValues($data));
bar => string 'Bar' ( length = 5 ),
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 )
Dizi değerlerini büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::upperValues($data));
bar => string 'Bar' ( length = 5 ),
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 )
Dizi anahtar ve değerlerini küçük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar'];
output(Arrays::lowerCase($data));
bar => string 'bar' ( length = 5 )
Dizi anahtar ve değerlerinin ilk harfini büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar'];
output(Arrays::titleCase($data));
Bar => string 'Bar' ( length = 5 )
Dizi anahtar ve değerlerini büyük harfe dönüştürür.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar'];
output(Arrays::upperCase($data));
BAR => string 'BAR' ( length = 5 )
# Column
Anahtar veriye göre dizideki değerleri döndürür.
Parametreler
array $arr | İlgili dizi. |
mixed $columnKey= 0 | Döndürülecek değerlerin sütunu. |
mixed $indexKey = NULL | Döndürülen dizinin anahtarları olarak kullanılacak kolon anahtarı. |
return array |
Kullanımı
$records =
[
['id' => 13, 'firstName' => 'Foo', 'lastName' => 'FOO'],
['id' => 29, 'firstName' => 'Bar', 'lastName' => 'BAR']
];
output( Arrays::column($records, 'firstName') );
1 => string 'Bar' ( length = 7 )
[$indexKey = 'key']
output( Arrays::column($records, 'firstName', 'lastName') );
'BAR' => string 'Bar' ( length = 7 )
# Combine
2 farklı dizinin değerlerini anahtar ve değer çifti olacak şekilde birleştirmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
array $otherArray = [] | Birleştirilecek diğer dizi. |
return array |
Kullanımı
$data = ['foo', 'bar'];
$otherData = ['Foo', 'Bar'];
output( Arrays::combine($data, $otherData) );
bar => string 'Bar' ( length = 5 )
Tek Parametre Kullanımı [6.19.0][2021-07-12]
Bu güncelleme ile 2. parametrenin boş geçilmesi durumunda 2. parametre 1. parametrenin değerini alacaktır. Böylece anahtar ve değer çifti aynı olması istenen dizi işlemlerinde aynı diziyi tekrar kullanmanıza gerek yoktur.
Arrays::combine(['a', 'b']);
# CountSameValues
Dizide tekrar eden elemanın sayısını öğrenmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
string $key = NULL | Hangi elamanın tekrar ettiği |
return int | array |
Kullanımı
$data = ['foo', 'bar', 'baz', 'foo', 'foo'];
output( Arrays::countSameValues($data) );
[$key]
Key tanımlanırsa sadece o elemanın dizi içerisinde kaç defa geçtiği bilgisi elde edilir.
$data = ['foo', 'bar', 'baz', 'foo', 'foo'];
output( Arrays::countSameValues($data, 'foo') );
# Delete
Diziden eleman silmek için kullanılır. Bu yöntemin silme işlevi diğerlerinden biraz daha farklıdır.
Arrays::deleteElement()
Parametreler
array $arr | İlgili dizi. |
mixed $obj | Silinecek değer ve değerler. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::delete($data, 'Foo'));
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 ),
Birden fazla değeri aynı anda silebilirsiniz
output(Arrays::delete($data, ['Foo', 'Bar']));
zoo => string 'Zoo' ( length = 5 ),
Anahtarı olan bir değeri silmek için anahtarı ile birlikte kullanarak silebilirsiniz.
output(Arrays::delete($data, ['baz' => 'Baz', 'zoo' => 'Zoo']));
bar => string 'Bar' ( length = 5 ),
# DeleteRecurrent
Dizide tekrar eden elemanları silmek için kullanılır.
Parametreler
array $arr | İlgili dizi. | |
string $flags = 'string' | Davranış biçimi. | |
Seçenekler | string, numeric, regular, localestring | |
return array |
Kullanımı
$data = ['foo', 'bar', 'baz', 'bar', 'bar'];
output( Arrays::deleteRecurrent($data) );
1 => string 'bar' ( length = 5 ),
2 => string 'baz' ( length = 5 )
# Each
Dizi anahtar ve değerlerini döngü ile yakalamak için kullanılır.
Parametreler
array $arr | İlgili dizi. |
callable $callable | Çalıştırılacak işlev. |
return mixed |
Kullanımı
Arrays::each($data, function($value, $key)
{
output('{0} - {1}', [$key, $value]);
});
bar - Bar
# Element
Anahtar değer çiftleri içeren bir diziden sadece anahtarları veya değerleri almak için kullanılır.
Takma Ad
Arrays::keyval()
Parametreler
array $arr | İlgili dizi. | |
string $type = 'value' | Dizi içerisinde yer alan anahtar/anahtarlar veya değer/değerleri almak için kullanılır. | |
Seçenekler | value, key, values, keys | |
return mixed |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::element($data) );
output( Arrays::element($data, 'key') );
output( Arrays::element($data, 'values') );
output( Arrays::element($data, 'keys') );
foo
0 => string 'Foo' ( length = 5 ),
1 => string 'Bar' ( length = 5 ),
2 => string 'Baz' ( length = 5 ),
0 => string 'foo' ( length = 5 ),
1 => string 'bar' ( length = 5 ),
2 => string 'baz' ( length = 5 )
Dizinin ilk değerini alır.
Parametreler
array $arr | İlgili dizi. |
return mixed |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::value($data) );
Dizinin ilk değerinin anahtarını alır.
Parametreler
array $arr | İlgili dizi. |
return mixed |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::key($data) );
Dizinin değerini alır.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::values($data) );
1 => string 'Bar' ( length = 5 ),
2 => string 'Baz' ( length = 5 )
Dizinin anahtarlarını alır.
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::keys($data) );
1 => string 'bar' ( length = 5 ),
2 => string 'baz' ( length = 5 )
# Exclude
Dizi içerisinde istenmeyen elemanları yok sayması için kullanılır.
Takma Ad
Arrays::excluding()
Parametreler
array $arr | İlgili dizi. |
array $exclude | Yok sayılacak elemanlar. Yok sayılması istenen elemanın değeri veya anahtarı kullanılabilir. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::exclude($data, ['foo', 'Baz']) );
# Exists
Dizi içerisinde anahtar veya değer olup olmadığını kontrol eden yöntemler içerir.
Alt Yöntemler
valueExists(array $arr, mixed $value) : bool |
valueExistsInsensitive(array $arr, mixed $value) : bool |
keyExists(array $arr, mixed $key) : bool |
keyExistsInsensitive(array $arr, mixed $key) : bool |
Pararmetreler
array $arr | Kontrol edilecek dizi. | |
mixed $data | Kontrol edilecek veri. | |
return bool |
Dizi içinde değer aramak için kullanılır. Eğer sonuç varsa true yoksa false döner.
$data = ['foo', 'bar', 'baz'];
output( Arrays::valueExists($data, 'bar') );
Dizi içinde harf duyarlılığına bakılmaksızın değer aramak için kullanılır. Eğer sonuç varsa true yoksa false döner.
$data = ['foo', 'bar', 'baz'];
output( Arrays::valueExistsInsensitive($data, 'Bar') );
Dizi içinde anahtar aramak için kullanılır. Eğer sonuç varsa true yoksa false döner.
$data = ['foo', 'bar' => 'Bar', 'baz'];
output( Arrays::keyExists($data, 'bar') );
Dizi içinde harf duyarlılığına bakılmaksızın anahtar aramak için kullanılır. Eğer sonuç varsa true yoksa false döner.
$data = ['foo', 'bar' => 'Bar', 'baz'];
output( Arrays::keyExistsInsensitive($data, 'Bar') );
# FillKeysRange [8.10.0][2024-04-12]
Dizi içerisinde anahtar değerler arasında sırasal olarak oluşan boşlukları doldurmak için kullanılır.
Parametreler
array $arr | İlgili dizi. |
mixed $value | Doldurulan anahtarın alacağı değer. |
mixed $min = NULL | Başlanacak en küçük anahtar değer. Varsayılan dizinin en küçük değere sahip anahtarı. |
mixed $max = NULL | Bitecek en büyük anahtar değer. Varsayılan dizinin en büyük değere sahip anahtarı. |
return array |
Kullanımı
$data = [1 => 'A', 5 => 'B'];
output( Arrays::fillKeysRange($data, 'X') );
2 => X
3 => X
4 => X
5 => B
Minimum ve Maximum Değerler Kullanmak
Eğer $min ve $max değerleri değiştirilirse o aralığı işleme alır ona göre çıktı üretir
$data = [1 => 'A', 5 => 'B'];
output( Arrays::fillKeysRange($data, 'X', 1, 3) );
2 => X
3 => X
Yukarıdaki çıktıya bakıldığında 1 den başlayarak 3'e kadar olan sıra üzerinde işlem yapıp çıktılandığı görülmektedir.
# Flatten
Çok boyutlu karmaşık bir diziyi tek boyutlu hale getirir. Çok boyutlu yapıda bulunan diziler en üst katmana çıkartılır.
Takma Ad
Arrays::unidimensional()
Parametreler
array $arr | İlgili dizi. |
bool $preserveKey = true | Anahtarlar korunsun mu?. |
return array |
Kullanımı
$arr = ['foo', ['bar'], ['baz' => 'xoo']];
output( Arrays::flatten($arr) );
baz => xoo
Yukarıdaki örnekte anahtalar korunsun seçeneği değiştirilmediği için anahtarı 0 olan 'bar' değeri 'foo' üzerine yazılmıştır.
[$preserveKey = false]
2. parametrenin false ayarlanması durumunda anahtarlar korunmaz ve id ye göre sıralanır.
$arr = ['foo', ['bar'], ['baz' => 'xoo']];
output( Arrays::flatten($arr, false) );
1 => bar
2 => xoo
# Force
Dizi anahtarlarına ve değerlerine geri çağrım uygulamak için oluşturulmuştur.
Parametreler
array $arr | İlgili dizi. |
mixed $callable | Uygulanacak işlev. |
return array |
Kullanımı
$arrs = ['a' => 'A', 'b' => 'B'];
$arr = Arrays::force($arrs, function($data)
{
return Strings::addSuffix($data, '+');
});
output($arr);
b+ => string 'B+' ( length = 4 )
Dizi anahtarlarına geri çağrım uygulamak için oluşturulmuştur.
Parametreler
array $arr | İlgili dizi. |
mixed $callable | Uygulanacak işlev. |
return array |
Kullanımı
$arrs = ['a' => 'A', 'b' => 'B'];
$arr = Arrays::forceKeys($arrs, function($data)
{
return Strings::addSuffix($data, '+');
});
output($arr);
b+ => string 'B' ( length = 3 )
Dizi değerlerine geri çağrım işlevi uygulamak için oluşturulmuştur.
Parametreler
array $arr | İlgili dizi. |
mixed $callable | Uygulanacak işlev. |
return array |
Kullanımı
$arrs = ['a' => 'A', 'b' => 'B'];
$arr = Arrays::forceValues($arrs, function($data)
{
return Strings::addSuffix($data, '+');
});
output($arr);
b => string 'B+' ( length = 4 )
Özyinelemeli dizilere geri çağrım işlevi uygulamak için oluşturulmuştur.
Parametreler
array $arr | İlgili dizi. |
mixed $callable | Uygulanacak işlev. |
return array |
Kullanımı
$arrs = ['a' => 'A', 'b' => 'B', 'c' => ['C', 'D']];
$arr = Arrays::forceRecursive($arrs, function($data)
{
return Strings::addSuffix($data, '+');
});
output($arr);
'a' => 'A+',
'b' => 'B+',
'c' => ['C+', 'D+']
]
# Get
Diziden eleman almak için kullanılır. Arrays::getFirst() ve Arrays::getLast() olmak üzere iki yöntemde oluşur.
Parametreler
array $arr | İlgili dizi. |
int $count = 1 | Kaç eleman seçileceği belirtilir. |
bool $preserveKey = false | Dizi indislerinin korunup korunmayacağı belirtilir. |
return mixed |
Dizinin başından eleman veya elemanlar almak için kullanılır.
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output(Arrays::getFirst($data));
output(Arrays::getFirst($data, 2));
foo => string 'Foo' ( length = 5 ),
bar => string 'Bar' ( length = 5 )
Dizinin sonundan eleman almak için kullanılır.
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output(Arrays::getLast($data));
output(Arrays::getLast($data, 2));
bar => string 'Bar' ( length = 5 ),
baz => string 'Baz' ( length = 5 )
# Include
Dizi içerisinde istenen elemanları alıp diğerlerini yok sayması için kullanılır.
Takma Ad
Arrays::including()
Parametreler
array $arr | İlgili dizi. |
array $exclude | Yok sayılmayacak elemanlar. Yok sayılmaması istenen elemanın değeri veya anahtarı kullanılabilir. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::include($data, ['foo', 'Baz']) );
baz => string 'Baz' ( length = 5 )
# intersect
Belirtilen dizilerin ortak elemanlarını bularak yeni bir dizi oluşturur.
Parametreler
array ...$arr | İlgili dizi. |
return $arr |
Kullanımı
$data = ['foo', 'bar', 'baz'];
$data2 = ['baz', 'zoo', 'coo'];
output( Arrays::intersect($data, $data2) );
Belirtilen dizilerin anahtarlarına göre ortak elemanlarını bularak yeni bir dizi oluşturur.
$data = ['foo'=> 'foo', 'bar' => 'bar', 'baz' => 'baz'];
$data2 = ['baz' => 'baz', 'zoo' => 'zoo', 'coo' => 'coo'];
output( Arrays::intersect($data, $data2) );
# Length
Dizinin kaç elemanlı olduğu bilgisini verir.
Parametreler
array $arr | İlgili dizi. |
int int |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
write( Arrays::length($data) );
# Map
Dizi elemanlarına yöntem veya fonksiyon uygulamak için kullanılır.
Takma Ad
Arrays::implementCallback()
Parametreler
callable $callback | Uygulanacak işlev. |
array ...$arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::map('strtoupper', $data) );
bar => string 'BAR' ( length = 5 ),
baz => string 'BAZ' ( length = 5 )
# Merge
Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur.
Parametreler
array ...$arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo', 'bar'];
$data2 = ['baz', 'zoo'];
output( Arrays::merge($data, $data2) );
1 => string 'bar' ( length = 5 ),
2 => string 'baz' ( length = 5 ),
3 => string 'zoo' ( length = 5 )
# Multikey
Aynı değeri tutacak birden fazla farklı dizi anahtarı kullanılacaksa bu yöntem kullanılır.
Parametreler
array $arr | İlgili dizi. |
string $keySplit = '|' | Anahtar ayracı. |
return array |
Kullanımı
$data = ['foo|zoo|bar' => 'Foo'];
output( Arrays::multikey($data) );
zoo => string 'Foo' ( length = 5 ),
bar => string 'Foo' ( length = 5 )
# Pick
Bir dizi içerisinde yer alan dizilere ait benzer anahtara sahip dizilerin değerlerini alır.
Parametreler
array $arr | İlgili dizi. |
string $pick | Hangi anahtara sahip değerlerin alınacağı. |
return array |
Kullanımı
$arr =
[
['name' => 'ZN'],
['name' => 'Framework']
];
output( Arrays::pick($arr, 'name') );
1 => string 'Framework' ( length = 11 )
# Product
Dizideki değerlerin çarpımını hesaplar.
Parametreler
array $arr | İlgili dizi. |
return float |
Kullanımı
$data = [10, 3, 5];
output( Arrays::product($data) );
# Random
Diziden rastgele belli sayıda eleman döndürür.
Parametreler
array $arr | İlgili dizi. |
int $countRequest = 1 | Dönmesi istenen eleman sayısı. |
return mixed |
Kullanımı
$data = [10, 3, 5];
output( Arrays::random($data) );
# RecursiveMerge
İki veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur.
Parametreler
array ...$arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo', 'bar' => ['Bar', 'BAR']];
$data2 = ['baz', 'zoo'];
output( Arrays::recursiveMerge($data, $data2) );
bar => array
(
0 => string 'Bar' ( length = 5 ),
1 => string 'BAR' ( length = 5 ),
),
1 => string 'baz' ( length = 5 ),
2 => string 'zoo' ( length = 5 )
# Remove
Diziden anahtar veya değer silmek için kullanılır
Parametreler
array $arr | İlgili dizi. |
mixed $keys = [] | Hangi anahtar veye anahtarlara ait değerlerin silineceği. |
mixed $values = [] | Hangi değer veya değerlerin silineceği. |
return array |
Kullanımı
output(Arrays::remove(['foo', 'bar', 'doo' => 'zoo'], 'doo'));
[$keys]
Anahtar göre silmek işlemi uygular.
output(Arrays::remove(['foo', 'bar', 'doo' => 'zoo'], [], ['zoo']));
[$values]
Değere göre silme işlemi uygular.
output(Arrays::remove(['foo', 'bar', 'doo' => 'zoo'], ['doo'], ['foo']));
Dizi anahtarına göre eleman silmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
mixed $keys | Hangi anahtara ait verinin silineceği. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output(Arrays::removeKey($data, 'bar'));
output('-----------------------------------');
output(Arrays::removeKey($data, ['foo', 'baz']));
baz => string 'Baz' ( length = 5 ),
-----------------------------------
bar => string 'Bar' ( length = 5 )
Dizi değerine göre eleman silmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
mixed $keys | Hangi değerlerin silineceği. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output(Arrays::removeValue($data, 'Bar'));
output('-----------------------------------');
output(Arrays::removeValue($data, ['Foo', 'Baz']));
baz => string 'Baz' ( length = 5 ),
-----------------------------------
bar => string 'Bar' ( length = 5 )
Dizinin başından eleman silmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
int $count = 1 | Kaç eleman silineceği. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::removeFirst($data, 1));
output('-----------------------------------');
output(Arrays::removeFirst($data, 2));
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 ),
-----------------------------------
baz => string 'Baz' ( length = 5 ),
zoo => string 'Zoo' ( length = 5 )
Dizinin sonundan eleman silmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
int $count = 1 | Kaç eleman silineceği. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz', 'zoo' => 'Zoo'];
output(Arrays::removeLast($data, 1));
output('-----------------------------------');
output(Arrays::removeLast($data, 2));
bar => string 'Bar' ( length = 5 ),
baz => string 'Baz' ( length = 5 ),
-----------------------------------
foo => string 'Foo' ( length = 5 ),
bar => string 'Bar' ( length = 5 )
# Resection
Dizinin belli bir kesitini değiştirmek için kullanılır.
Parametreler
array $arr | İlgili dizi. |
int $start = 0 | Başlangıç indisi. |
int $length = NULL | Kaç karakter alınacağı. |
bool $newElement = NULL | Yeni eklenecek kesit. |
return array |
Kullanımı
$data = ['foo', 'bar', 'baz', 'zoo', 'coo'];
output( Arrays::resection($data, 2, 3, ['BAR', 'ZOO']) );
1 => string 'bar' ( length = 5 ),
2 => string 'BAR' ( length = 5 ),
3 => string 'ZOO' ( length = 5 )
# Search
Dizi içinde arama yapmak için kullanılır. Arama sonucunda eleman bulunursa o elemanın indis değeri döner.
Parametreler
array $arr | İlgili dizi. |
mixed $element | Aranacak değer. |
bool $strict = false | Aranılan nesnenin türüne bak. |
return mixed |
Kullanımı
$data = ['foo', 'bar', 'baz'];
output( Arrays::search($data, 'baz') );
output( Arrays::search($data, 'bar') );
1
Bir dizi içerisinde yer alan başlangıç ve bitiş olarak belirtilen elemanlar arasındaki dizi elemanlarını yakalamak için kullanılır. Bu işlem için birden çok alt yöntemden yararlanılır. Gerek değerden değere, gerekse de anahtardan değere şeklinde bir dizi alt yöntem bulunmaktadır.
Parametreler
array $arr | İlgili dizi. |
mixed $start | Hangi elemandan başlanacağı. |
mixed $end | Hangi elamanda biteceği. |
return array |
Değerden Değere
Bu kullanımda 2 değer arasında yer alan elemanlar yakalanır.
$arr = ['a', 'b', 'c', 'd', 'e'];
output( Arrays::searchBetween($arr, 'b', 'e') );
1 => d
$arr = ['a', 'b', 'c', 'd', 'e'];
output( Arrays::searchBetweenBoth($arr, 'b', 'e') );
1 => c
2 => d
3 => e
Bu kullanımda 2 anahtar arasında yer alan elemanlar yakalanır.
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchKeyBetween($arr, 'a1', 2) );
1 => c
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchKeyBetweenBoth($arr, 'a1', 2) );
0 => b
1 => b
2 => c
Bu kullanımda anahtar ile değer yer alan elemanlar yakalanır.
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchKeyToValueBetween($arr, 'a1', 'd') );
1 => c
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchKeyToValueBetweenBoth($arr, 'a1', 2) );
0 => b
1 => c
2 => d
Bu kullanımda değer ile anahtar yer alan elemanlar yakalanır.
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchValueToKeyBetween($arr, 'a', 2) );
1 => c
$arr = ['a1' => 'a', 'b', 'c', 'd', 'e'];
output( Arrays::searchValueToKeyBetweenBoth($arr, 'a', 2) );
0 => b
1 => c
2 => d
# Section
Diziden kesit almak için kullanılır.
Parametreler
array $arr | İlgili dizi. |
int $start = 0 | Başlangıç indisi. |
int $length = NULL | Kaç karakter alınacağı. |
bool $preserveKeys = NULL | Anahtar değerlerinin korunup korunmayacağı. |
return array |
Kullanımı
$data = ['foo', 'bar', 'baz', 'zoo', 'coo'];
output( Arrays::section($data, 2, 2) );
1 => string 'zoo' ( length = 5 )
# Series
Belli bir aralıkta dizi oluşturmak için kullanılır.
Parametreler
int $start | Başlangıç indisi. |
int $end | Bitiş indisi. |
int $step = 1 | Artış miktarı. |
return array |
Kullanımı
output( Arrays::series(0, 100, 10) );
1 => integer 10 ( length = 2 ),
2 => integer 20 ( length = 2 ),
3 => integer 30 ( length = 2 ),
4 => integer 40 ( length = 2 ),
5 => integer 50 ( length = 2 ),
6 => integer 60 ( length = 2 ),
7 => integer 70 ( length = 2 ),
8 => integer 80 ( length = 2 ),
9 => integer 90 ( length = 2 ),
10 => integer 100 ( length = 3 )
# Sort
Dizi elemanlarını a-z şeklinde sıralar.
Parametreler
array $arr | İlgili dizi. | |
string $flag = 'regular' | Sıralama yönü. | |
regular | Elamanlar normal olarak sıralanır. | |
numeric | Elemanlar sayısal olarak sıralanır | |
string | Elemanlar dizgesel olarak sıralanır | |
localestring | Yerele göre dizgesel sıralama yapılır. | |
return array |
Varyasyonlar
Kullanımlar
Aşağıda bu yöntemin kullanımına ve varyasyonlarına yer verilmiştir.
[$flag = 'regular']
Bu kullanımda dizi elemanlarını a-z şeklinde sıralar.
output(Arrays::sort([1, 2, 3, 'foo', 'bar', 'baz', 11, 12, 13]));
[$flag = 'numeric']
Bu kullanımda dizi elemanları 0-9 şeklinde sıralanır.
output(Arrays::sort([1, 2, 3, 'foo', 'bar', 'baz', 11, 12, 13], 'numeric'));
[$flag = 'string']
Bu kullanımda dizi elemanları sayılarda dahil string olarak a-z şeklinde sıralanır.
output(Arrays::sort([1, 2, 3, 'foo', 'bar', 'baz', 11, 12, 13], 'string'));
[$flag = 'localestring']
Bu kullanımda yerel olarak ayarlanmış dilin alfabesine göre sıralama yapar.
output(Arrays::sort(['a', 'b', 'c', 'ç', 'd'], 'localestring'));
Yereli ayarladıktan sonra;
i18n_loc_set_default('tr_TR');
output(Arrays::sort(['a', 'b', 'c', 'ç', 'd'], 'localestring'));
Dizi elemanlarını z-a şeklinde sıralar.
output(Arrays::reverse([1, 2, 3, 'foo', 'bar', 'baz', 11, 12, 13]));
Dizi elemanlarını değerine göre anahtarları korunacak şekilde z-a şeklinde sıralamak için kullanılır.
output(Arrays::descending(['foo', 'bar', 'baz', 1, 2, 3, 11, 12, 13]));
Dizi elemanlarını değerine göre anahtarları korunacak şekilde a-z şeklinde sıralamak için kullanılır.
output(Arrays::ascending(['foo', 'bar', 'baz', 1, 2, 3, 11, 12, 13]));
Dizi elemanlarını anahtarına göre anahtarları korunacak şekilde z-a şeklinde sıralamak için kullanılır.
output(Arrays::descendingKey([1 => 'one', 2 => 'two', 'three' => 'three', 10 => 'ten']));
Dizi elemanlarını anahtarına göre anahtarları korunacak şekilde a-z şeklinde sıralamak için kullanılır.
output(Arrays::ascendingKey([1 => 'one', 2 => 'two', 'three' => 'three', 10 => 'ten']));
Dizi elemanlarını anahtarları korunacak şekilde harf duyarlılığı dikkate alınarak doğal sıralar.
output(Arrays::natural(['a', 'A', 'B', 'C', 'c', 'b']));
Dizi elemanlarını anahtarları korunacak şekilde harf duyarlılığına dikkat etmeksizin sıralar.
output(Arrays::naturalInsensitive(['a', 'A', 'B', 'C', 'c', 'b']));
Dizi elemanlarını rasgele dizmek için kullanılır.
output(Arrays::shuffle([1 => 'one', 2 => 'two', 'three' => 'three', 10 => 'ten']));
# Sum
Dizideki değerlerin toplamını hesaplar.
Parametreler
array $arr | İlgili dizi. |
return float |
Kullanımı
$data = [10, 3, 5];
output( Arrays::sum($data) );
# Transform
Dizinin anahtarları ile değerlerini yer değiştirmek için kullanılır.
Takma Ad
Arrays::flip()
Parametreler
array $arr | İlgili dizi. |
return array |
Kullanımı
$data = ['foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'];
output( Arrays::transform($data) );
Bar => string 'bar' ( length = 5 ),
Baz => string 'baz' ( length = 5 )
# Objects
Tek veya çok boyutlu bir diziyi objeye çevirir.
Takma Ad [6.4.0]
Objects
Parametreler
array $arr | İlgili dizi. |
return object |
Kullanımı
$data = new ZN\DataTypes\Objects(['a' => 'a', 'b' => ['c' => 'c'] ]);
echo $data->b->c;
Bu güncelleme ile bu sınıf gibi de kullanılabilir.
$data = new Objects(['a' => 'a', 'b' => ['c' => 'c'] ]);
echo $data->b->c;