Kanca ile Eklenti Sistemi ve Sıralama

PHP
33 lines
<?php
$veriler=[];
$veriler[] = ['id'=>1, 'sira'=>1, 'url'=>'index.php', 'isim'=>'a'];
function kanca($array,$deger,$del=false,$sort=SORT_ASC){
$girisler = [];
$cikislar = [];
foreach ($array as $k => $dizi) {
if(is_array($dizi)){
if($del >= 0 AND $dizi[$deger] != $del){
$girisler[$deger.$k] = $dizi[$deger];
}elseif($del == false){
$girisler[$deger.$k] = $dizi[$deger];
}
}else{
$girisler[$deger.$k] = $dizi;
}
}
array_multisort($girisler,$sort);
foreach ($girisler as $a=>$b) {
$cikislar[] = $array[substr($a,strlen($deger))];
}
return $cikislar;
}
//VERİ EKLEME
$veriler[]=['id'=>2, 'sira'=>2, 'url'=>'eklenti1.php', 'isim'=>'b'];
$veriler[]=['id'=>3, 'sira'=>3, 'url'=>'eklenti2.php', 'isim'=>'c'];
$veriler[]=['id'=>4, 'sira'=>2, 'url'=>'eklenti2.php', 'isim'=>'d'];
$veriler[]="Panel sayfası yüklendi";
$sonuc = kanca($veriler,'sira');//linkleri siralar
$sonuc = kanca($sonuc,'sira',2);//2 sira nolu linkleri siler ve tekrar siralar
print_r($sonuc);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
20 lines
Array
(
[0] => Panel sayfası yüklendi
[1] => Array
(
[id] => 1
[sira] => 1
[url] => index.php
[isim] => a
)
[2] => Array
(
[id] => 3
[sira] => 3
[url] => eklenti2.php
[isim] => c
)
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX