細說函式返回值與引數

宋霸霸發表於2024-07-04
<?php
// 函式(全域性成員)完成特定功能的程式碼塊
// echo strtoupper('imzchloe');
// echo strlen('陽光真好我好開心o(* ̄▽ ̄*)ブ');
// echo abs(-4);

// function 函式名稱 ([引數列表 -形參])
// {
//     函式體
//     return 返回值
//    1.函式只能返回單個的值 如果想返回多個值,返回一個陣列,物件。
//    2.return後面的程式碼不會被執行
// }
 
function divide($one,$two)
{
    return $one/$two;
    // echo '你好呀,小可愛'
}

// echo divide(99,9);


function demo()
{  
    
    return sha1('dfrescfre');
    return md5('dfffdf');
    return 1===1;
    return new StdClass;
    return array('12','45');
    return 88.88;
    return 'nihao';
    return true;
}
// var_dump(demo());

// 多個值以陣列的形式返回

function test()
{
    return ['status'=>1,'msg'=>'登入成功'];
}
// print_r(test());

// 多個值以物件的形式返回
function demo2()
{
    return new class()
    {
        public $name = 'chloe';
        public $gender = '女';
    };
}

//  $obj = demo2();
//  var_dump($obj);
//  echo '<hr>';
//  echo $obj->name;
//  echo $obj->gender;


//  多個值以json字串的1方式返回
function demo3()
{
    // json_encode()將陣列轉為json字串
    return json_encode(['status'=>1,'msg'=>'驗證成功']);
}
var_dump(demo3());
echo '<hr>';
$res = demo3();
// json_decode()第二個設為true拿到陣列
var_dump( json_decode( demo3($res,true)));


?>

  

<?php
// 多個引數可以用,號隔開
// 1.引數為函式的呼叫者一個介面去改變函式體的執行行為
// 2.沒有引數

function demo($name)
{
    echo"你好$name<br>";
}

demo('藍波');
demo("喵喵");

//返回一個3行2列的表格
$table = "<table border ='1' cellspacing='0'>";
for ($i=0; $i < 9; $i++){
    $table.="<tr>";
    for ($j=0; $j < 5; $j++){
        $table.="<td>習</td>";
    }    
        $table.="</tr>";

    $table.="</tr>";
}
$table.='</table>';

// echo $table;


function createTable(int $rows,int $cols,string $content, string $bgColor):string
{
    $table = "<table border ='1' cellspacing='0' bgColor='$bgColor'>";
    for ($i=0; $i < $rows; $i++){
      $table.="<tr>";
      for ($j=0; $j < $cols; $j++){
         $table.="<td>$content</td>";
        }    
        $table.="</tr>";
    }
    $table.='</table>'; 
    return $table;
}

    // echo createTable(3,10,'小','red');


    function createTable1(int $rows=7 ,int $cols=7 ,string $content='大', string $bgColor='green'):string
{
    $table = "<table border ='1' cellspacing='0' bgColor='$bgColor'>";
    for ($i=0; $i < $rows; $i++){
      $table.="<tr>";
      for ($j=0; $j < $cols; $j++){
         $table.="<td>$content</td>";
        }    
        $table.="</tr>";
    }
    $table.='</table>'; 
    return $table;
}

    // echo createTable1(5,5,'餓','orange');
    //   echo createTable1('餓','orange');

    //  1. 引數列表是從左往右傳的值
    // 2.不傳引數或者少傳引數,都會使用預設的引數,如果使用者傳了引數,會發生覆蓋
      echo createTable1(8,8,);

?>

  

相關文章