2016-03-29 21 views
0

PHP'de bir diziyi manuel olarak ters çevirmeye çalışıyorum. Dizi bir formdan girilir, patlatılır ve sonra tersine çevrilir. Kodun sınıfsız çalışmasını sağlayabilirim, ancak şu anda sınıflar hakkında dersler veriyorum, bu yüzden şu anki kodumu da derslerle çalışıyorum. Birisi bana doğru yönde işaret olabilir eğer öyleyse PHP sınıfları ve nasıl vb getiriler üzerinde çağırmak için eğer hala çok emin değilim

<?php 
class reverseArray{ 

public function setSting(){ 
     $string = $_POST['numberInput']; 
     return $string; 

    } 

public function explodeString(){ 
    $array = explode(' ', $string); 
    return $array; 
} 

public function setArray(){ 
    $arrayToEcho = explodeString(); 
    return $arrayToEcho; 
} 


public function returnArray(){ 
    for ($i = count($arrayToEcho) - 1; $i >=0 ; $i--){ 
     echo " "; 
     $arrayToEcho[$i] = $arrayToEcho[$i]; 
     echo $arrayToEcho[$i]; 
    } 
} 
} 
?> 

? Şu anda herhangi bir hata veya uyarı almıyorum, aynı zamanda çıktı yok!

+0

sınıf içinde herhangi bir dizeyi kullanabilirsiniz olarak bu sınıf yeniden kullanılmasına izin olurdu bu sınıf için daha iyi bir kullanım

public function setString($str){ $this->string = $str; } 

olacağını düşünüyorum 'stringde' işlevi 'method' explodeString' işlevine nasıl girer? –

+0

Ya sınıflar hakkında iyi bir iş yapmıyorlar ya da dinlemiyordunuz, çünkü onlar hakkında temel bir ilkeyi kaçırıyorsunuz. – Barmar

+0

Bir diziyi tersine çevirmek için yerleşik rsort() işlevini unutmayın. Daha fazla bilgi şu adreste bulunabilir: http://php.net/manual/en/function.rsort.php. –

cevap

1

Değişken kapsamları aramak size yardımcı olacaktır. Başka yöntemlerde veya işlevlerde kullanmak için bir sınıf özelliğine ihtiyacınız var. Şu anda, $string sadece tanımlandığı işlev içinde kullanılabilir. Bir sınıf özelliğini bildirebilir ve $this erişimcisini kullanabilirsiniz.

class reverseArray{ 

    public $string; 

    public function setString(){ 
     $this->string = $_POST['numberInput']; 
     return $this->string; 
    } 

    public function explodeString(){ 
     $array = explode(' ', $this->string); 
     return $array; 
    } 

} 

Ben Bu, sadece $_POST['numberInput']

+0

.. sınıfı ve setString'i çağırmayı unutma (ya da bunu yapıcıya taşı) .sting vs string de :-) –