簡體   English   中英

PHP定義函數邏輯

[英]PHP Defining Function Logical

我剛開始學習php,我想知道有人可以通過定義函數的邏輯來幫助我。 我似乎無法繞過它。

簡單的例子:

<?php

function hello($word) {
  echo "Hello $word";
}

  $name = "John";
  strtolower(hello($name))

?>

我知道如果我在函數中使用return而不是echo,然后在定義函數之外回顯它,則“ strtolower”適用,但在此示例中不適用。 我不了解php是如何解釋它的。 提前致謝。

想象一個函數是一個未知內容的盒子。 您放進東西,然后放出東西-這意味着您有參數並且要返回一些東西。

在您的代碼示例中,您不返回任何內容,而是echo一些字符串。

function hello($word) {
//             ^ parameter
  return "Hello $word";
}

$name = "John";
strtolower(hello($name));

為了進一步說明,您可以通過以下方式查看原始代碼:

echo strtolower(hello("John"));
     ^          ^--- call hello("John")
     |                something happens (your echo)
     |               hello() ended without return, return NULL by default
     |--- call strtolower( NULL )
            something happens
          strtolower() returned ""

但是您希望它像這樣:

echo strtolower(hello("John"));
     ^          ^--- call hello("John")
     |                something happens
     |               hello() return "Hello John"
     |--- call strtolower("Hello John")
            something happens
          strtolower() returned "hello john"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM