Dizi Elemanlarını Başka Bir Dizi Elemanlarıyla Yer Değiştirme

<?php
$veri= array("sifir", "bir", "iki", "üc");
$degistir = array(0 => "dört", 4 => "bes");
$degistir2 = array(0 => "alti");

$cikti = array_replace($veri,$degistir, $degistir2);
print_r($cikti);
?>

İşlemi açıklamak gerekirse;

0 => “dört” değeri 0.indiste bulunan “sifir” ile değişiyor ve
“dört”,”bir”,”iki”,”üç” oluyor
4 => “bes” değeri 4.indiste birşey olmadığı için veriye ekleniyor ve
“dört”,”bir”,”iki”,”üç”,”bes” oluyor
0 => “alti” 0.indiste değişmiş olan “dört” ile tekrar yer değiştiriyor ve
“alti”,”bir”,”iki”,”üç”,”bes” oluyor

Yukarıdaki kodun çıktısı

Array
(
    [0] => alti
    [1] => bir
    [2] => iki
    [3] => üc
    [4] => bes
)

Diziyi Ters Çevirme

array_reverse Kullanımı
Diziyi tersine çevirir ve isteğe bağlı olarak anahtar değeri ekler.

<?php
$veri = array("bir", "iki", array("üç", "dört"));
$sonuc = array_reverse($veri);
$anahtarli_sonuc = array_reverse($veri , true);
?>

<?php print_r($sonuc); ?>
Yukarıdakinin çıktısı:
Array
(
[0] => Array
(
[0] => üç
[1] => dört
)

[1] => iki
[2] => bir
)
<?php print_r($anahtarli_sonuc); ?>
Yukarıdakinin çıktısı:
Array
(
[2] => Array
(
[0] => üç
[1] => dört
)

[1] => iki
[0] => bir
)

 

Dizilerde Ekleme ve Birleştirme

array_unshift Kullanımı

Hem dizileri hem tek verileri dizinin başına ekler.

<?php
$dizi = array("elma","armut");
$eklenecek = "ayva";
array_unshift($dizi, $eklenecek);
print_r($dizi);
?>
Yukarıdaki örneğin çıktısı:
(
[0] => ayva
[1] => elma
[2] => armut
)

array_push Kullanımı
Hem dizileri hem tek verileri dizinin sonuna ekler.

<?php
$dizi = array("elma","armut");
$eklenecek = "ayva";
array_push($dizi, $eklenecek);
print_r($dizi);
?>
Yukarıdaki örneğin çıktısı:

Array
(
[0] => elma
[1] => armut
[2] => ayva
)

array_merge Kullanımı
Sadece dizileri birleştirir.

<?php
$dizi = array("elma","armut");
$eklenecek = array("çilek","ayva");
$yeni=array_merge($dizi, $eklenecek);
print_r($yeni);
?>
Yukarıdaki örneğin çıktısı:

Array
(
[0] => elma
[1] => armut
[2] => çilek
[3] => ayva
)

 

Dizi Anahtar ve Değerini Alma

array_keys Kullanımı
Dizideki anahtar isimlerini döndürür.

<?php
$dizi = array(0 => "a", "renk" => "beyaz");
print_r(array_keys($dizi));
?>

çıktısı

Array
(
    [0] => 0
    [1] => renk
)

array_values Kullanımı
Dizideki anahtarlara ait değerleri döndürür.

<?php
$dizi = array(0 => "a", "renk" => "beyaz");
print_r(array_values($dizi));
?>

çıktısı

Array
(
    [0] => a
    [1] => beyaz
)

 

Döngü ve Matematiksel İşlemler

<?php 
	/*  PHP For Döngüsü Kullanım Örnekleri ve Matematiksel İşlemler 
		Instagram @ulusanzeynel 17.06.2015
	*/

/* PHP İle Faktöriyel Hesaplatmak */
	function faktoriyel($sayi){
			$sonuc=1;
		for($i=1;$i<=$sayi;$i++){
			$sonuc *=$i;
		}
			echo "$sayi != ".$sonuc;
	}
/* PHP İle Üst Alma İşlemi  */
	function üstal($sayi , $üst){
			$sonuc=1;
		for ($i=1;$i<=$üst;$i++){
			$sonuc*=$sayi;
		}
			echo "$sayi üzeri $üst =".$sonuc;
	}
/* PHP İle Permütasyon Hesaplatmak */
	function permütasyon($kaçın,$kaçlısı){
			$sonuc=1;
			$sonucc=1;
		for($i=1;$i<=$kaçın;$i++){
			$sonuc *=$i;
		}
		for($ii=1;$ii<=$kaçlısı;$ii++){
			$sonucc *=$ii;
		}
			echo "p($kaçın,$kaçlısı) = ".($sonuc/$sonucc);
	}
/* Kısa Yoldan Permütasyon */
	function permütasyonkısa($kaçın,$kaçlısı){
			$sonuc=1;
		for ($i=$kaçın-($kaçın-$kaçlısı)+1;$i<=$kaçın;$i++){
			$sonuc *=$i;
		}
			echo "p($kaçın,$kaçlısı)=".$sonuc;
	}
/*PHP ile Kombinasyon Hesaplamak*/
	function kombinasyon ($kaçın,$kaçlısı){
			$sonuc=1;
			$sonucc=1;
			$sonuccc=1;
		//n!	
		for($i=1;$i<=$kaçın;$i++){
			$sonuc *=$i;
		}
		//r!
		for($ii=1;$ii<=$kaçlısı;$ii++){
			$sonucc *=$ii;
		}
		//n-r!
		for($iii=1;$iii<=$kaçın-$kaçlısı;$iii++){
			$sonuccc *=$iii;
		}
			echo "c($kaçın,$kaçlısı) = ".($sonuc/($sonucc*$sonuccc));
	}
/* Kısa Yoldan Kombinasyon */
	function kombinasyonkısa($kaçın,$kaçlısı){
			$sonuc=1;
			$sonucc=1;
		for ($i=$kaçın-$kaçlısı+1;$i<=$kaçın;$i++){
			$sonuc *=$i;
		}
		for($ii=1;$ii<=$kaçlısı;$ii++){
			$sonucc *=$ii;
		}
		
			echo "c($kaçın,$kaçlısı)=".$sonuc/$sonucc;
	}
/* PHP ile Karmaşık Sayının Üslü Halini Bulma  */
	function karmasiksayi($kaçıncıkuvvet){
			$karmaşık=array(
				0=>"1",
				1=>"i",
				2=>"-1",
				3=>"-i",
			);
			$deger=$kaçıncıkuvvet%4;
			echo "i üzeri $kaçıncıkuvvet = ".$karmaşık[$deger];
	}
	karmasiksayi(16);
	
	/* Örnek Kullanımlar
		faktoriyel(4); 			=> 4! = 24 sonucunu verir.
		üstal(2,3);     		=> 2 üzeri 3 = 8 sonucunu verir.
		permütasyon(7,5)		=> p(7,5) =42 değerini verir.
		permütasyonkısa(7,5)	=> p(7,5) =42 değerini verir.
		kombinasyon(7,2)		=> c(7,2) =21 değerini verir
		kombinasyonkısa(7,2)	=> c(7,2) =21 değerini verir
		karmasiksayi(16)		=> i üzeri 16 =1 değerini verir.
	*/

?>

 

İsim Yanına Ek Koymak

<?php 
function ek($isim){
		$sesliharfler=array('a','e','i','ı','o','ö','u','ü');
		$sonharfd=array('a'=>'nın','e'=>'nin','i'=>'nin','ı'=>'nın','u'=>'nun','ü'=>'nün','o'=>'nun','ö'=>'nün');
		$sondanikinciharfd=array('a'=>'ın','e'=>'in','i'=>'in','ı'=>'ın','u'=>'un','ü'=>'ün','o'=>'un','ö'=>'ün');
		mb_internal_encoding("UTF-8");
		$sonharf= mb_substr($isim,-1);
		$sondanikinciharf= mb_substr($isim,-2,1);
		$sondanücüncüharf=mb_substr($isim,-3,1);
		if(in_array($sonharf,$sesliharfler,true)){
			return $isim."'".$sonharfd[$sonharf];
		}elseif(in_array($sondanikinciharf,$sesliharfler,true)){
			return $isim."'".$sondanikinciharfd[$sondanikinciharf];
		}else{
			return $isim."'".$sondanikinciharfd[$sondanücüncüharf];	
		}
}

$isim="Mehmet Ali";
echo ek($isim)." Doğum Günü";

?>

Çıktısı: Mehmet Ali’nin Doğum Günü

Not: Facebook‘taki bu eksiği bulup bu fonksiyonu hazırlayan kardeşim Zeynel ‘e Teşekkürler…

Çift veya Birden Fazla Kayıtları Düzenleme, Silme

Böyle bir tablomuz olduğunu varsayalım

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ad` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `test` (`ad`) VALUES ('veli'),('ali'),('veli'),('ali'),('veli'),('ali');

Tekrar eden tüm verileri silmek için (Çiftten fazla var ise tercih edilir)
(Not:En son 1 tane bırakılır)

DELETE t1 FROM test t1, test t WHERE t1.id < t.id AND t1.ad = t.ad

Tekrar eden en son eklenen kaydı silme(Genelde çift kayıtlar için)(Son ekleneni silerek)
(Not:3 tane aynı veri var ise 2 tane kalır)
(Not:2 tane aynı veri var ise 1 tane kalır)
(Not:1 tane aynı veri var ise yine 1 tane kalır)
(Yani sürekli tekrarlanırsa 1’er 1’er silerek üstteki yaptığımız işleme ulaşılmış olur)

DELETE  
  FROM test 
    WHERE exists (  
      select * from  
        (select MAX(p.id) ciftid,count(*) 
          FROM test as p  
            GROUP BY p.ad 
              HAVING count(*)>1 
        ) as cift 
        WHERE cift.ciftid=test.id  
    )

Çıktısı

+------+
|  ad  |
+------+
| ali  |
| veli |
+------+