PHP fonksiyonları kullanma?

7 Cevap php

Nasıl ben sadece PHP kullanarak bir işleve diyorsunuz?

Ben oluşturduk Say:

function sam(){
 echo "Hello World!;
 exit();
}

Nasıl işlevini başlatmak istiyorsunuz?

7 Cevap

Is this a trick question?

Ben fark ilk şey bir teklif eksik olduğunu:

function sam(){ echo "Hello World!; exit(); }

.. Olmalıdır ..

function sam(){ echo "Hello World!"; exit(); }

(I see you fixed your post after I mentioned the above by adding the quote).

Sonra, senin durumunda, fonksiyon yankı sonucudur, ve sonra exits the entire script (it doesn't just exit the function as you may be assuming), öylesine çok bu daha o başka ile yapabilirsiniz:

<?php

function sam(){ 
  echo "Hello World!"; 
  exit(); 
}

sam();
// anything here on down will not execute or render!

?>

Ancak, işlevi daha gerçek dünya ise, bu gibi:

function sam() {
  return "Hello World!";
}

.. O zaman bunlardan herhangi biri (ve daha fazla) yapabilirdi ..

$s = sam();
echo $s;
$s = "Say it: " . sam();
echo $s;

Bu gibi -

sam();

Eh, herhalde:

sam();

Ben sadece PHP OOP teknikleri kullanarak başladım ve ben çevrimiçi bulmak zor bulunan bilgilerin basit bir bit sizin işlevini çağırmak istiyorsanız nesnesinin bir parçası olarak kullanmak gerekir oldu $this->functionName();

yani

class newInstance {
    function helloWorld(){
      echo 'Hello world';
    }
}

$object = new newInstance();
$object->helloWorld;
<?php

sam();

?>

php.net kendinize yardım

Burada diğer cevaplara ek olarak, ben çıkmak kullanarak için niyet () aslında return construct memnun olduğunu düşünüyorum. Daha fazla bilgi returning values.

Ancak, örneğin orada PHP fonksiyonları geri dönmek beri olması için hiçbir neden void otomatik fonksiyon sona erer ve başka hiçbir dönüş değeri belirtilmiş edildikten sonra.

Eğer devam bir fonksiyonu durdurmak için dönüşünü kullanmak isteyeyim bir örnek:

function foo($bar) {
  if ($bar < 10) {
    return;
  }

  return $bar * 10;
}
print foo(1); // Prints nothing
print foo(20); // Prints 200

Bu özel örnekte ne gerçek dünya uygulama anlayamadı ama bir işlev kısa kesmek isteyebilirsiniz yararlı bir durumu gösterir.

O dönüş gösteren başka bir örnek, basit işlevleri gerekli değildir:

function foo($bar) {
  print $bar * 10;
}

foo(20); // Prints 200
print foo(20); // Also prints 200, but since the function does not return anything, the print statement on this line does nothing.

Ayrıca PHP.net manual section on Functions ödeme isteyebilirsiniz. Umarım bu yardımcı olur.