Genişletilmiş Dizi Nesne Sınıfı

PHP
74 lines
<?php
class genisletilmisDiziNesnesi extends ArrayObject {
private $dizi;
public function __construct(){
if (is_array(func_get_arg(0)))
$this->dizi = func_get_arg(0);
else
$this->dizi = func_get_args();
parent::__construct($this->dizi);
}
public function each($callback){
$yineleyici = $this->getIterator();
while($yineleyici->valid()) {
$callback($yineleyici->current());
$yineleyici->next();
}
}
public function haric(){
$args = func_get_args();
return array_values(array_diff($this->dizi,$args));
}
public function ilk(){
return $this->dizi[0];
}
public function sira($deger){
return array_search($deger,$this->dizi);
}
public function denetle(){
echo print_r($this->dizi, true);
}
public function son(){
return $this->dizi[count($this->dizi)-1];
}
public function terscevir($uygula=false){
if(!$uygula){
return array_reverse($this->dizi);
}else{
$dizi = array_reverse($this->dizi);
$this->dizi = $dizi;
parent::__construct($this->dizi);
return $this->dizi;
}
}
public function shift(){
$eleman = array_shift($this->dizi);
parent::__construct($this->dizi);
return $eleman;
}
public function pop(){
$eleman = array_pop($this->dizi);
parent::__construct($this->dizi);
return $eleman;
}
}
function yazdir($deger){
echo $deger;
}
$dizi = new genisletilmisDiziNesnesi([1,2,3,4,5,6]);
$dizi->each("yazdir");
echo "<br>";
print_r($dizi->haric(2,3,4));
$dizi->denetle();
echo $dizi->sira(5);
echo "<br>";
print_r($dizi->terscevir());
print_r($dizi->terscevir(true));
echo $dizi->shift();
echo "<br>";
echo $dizi->pop();
echo "<br>";
echo $dizi->son();
echo "<br>";
echo $dizi->ilk();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
39 lines
123456
Array
(
[0] => 1
[1] => 5
[2] => 6
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
4
Array
(
[0] => 6
[1] => 5
[2] => 4
[3] => 3
[4] => 2
[5] => 1
)
Array
(
[0] => 6
[1] => 5
[2] => 4
[3] => 3
[4] => 2
[5] => 1
)
6
1
2
5
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.