iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1

變量或稱變數,是是用於存儲信息的容器

x='winnie';
y=5;

在數學代數中,使用字母(如x、y),並給它賦值('winnie',5)
在PHP 中,這些字母被稱為變量。

變量規則

  • 以 $符號為開頭,後面為變量名稱
  • 變量名稱不能以數字開頭、不能包含空格
  • 變量名稱必須以字母或者下劃線字符開始
  • 變量名是區分大小寫的($x 和$X 是兩個不同的變量)
  • php 沒有創建變量的命令,直接賦值即可使用
  • 不需要告知變量數據的類型(PHP 是一門弱類型語言)

範例:

<?php
   $text = "Hello world!";
   $x = 10;
   $y = 1.2;
   echo $x; //10;
   echo $x + $y //11.2;
   echo $y . $txt; //1.2Hello world!
   
?>

預定義變量:

php系統內置的變量,這些變量一般都是超全局變量(superglobal),超全局就是沒有作用域的限制有的還可以跨頁面的變量

$GLOBAL:引用全局作用域中可用的全部變量(PS.唯一一個不是下劃線開頭的預定義變量)
$_GET:用戶通過get方式提交數據
$_POST:用戶通過post方式提交數據
$_REQUEST:用戶通過提交數據,默認包含了$_GET$_POST$_COOKIE
$_FILES:用戶提交的文件數據
$_SESSION:session數據
$_COOKIE:coookie數據
$_ENV:環境數據,需查看你的Shell文檔來獲取定義的環境變量列表,因為不同Shell內容不同。
$_SERVER:服務器和執行環境的基本信息,包含了諸如頭信息(headers)、路徑(paths)、以及腳本位置(script locations)等信息的數組。

變量的傳值方式

  • 傳值 by Value
    將變量傳遞給另外一個變量,但兩個變量互不影響
$name = 'winnie';
$bear = $name;
echo $name,$bear; //winniewinnie
$name = '小熊'; //變量重新賦值,新值覆蓋原有的值
echo $name,$bear; //小熊winnie
  • 傳址 by Reference
    變量所指向的內存地址賦值給另外一個變量,兩個變量指向同一個地址,任何一個修改都會影響到另外一個變量
$age = 20;
$new_age = &$age; //用&符号取得$age變量的地址。 &:取地址符號
echo $age,$new_age; //20 20
$age = 100;
echo $age,$new_age; //100 100 
unset($age);
echo $age,$new_age; //報錯 100

在 PHP 中,變量的操作預設是傳値(Call by value)
在 PHP 中,傳遞變量至方法時(Function),預設也是傳值(Call by value)
但變量可以使用 & 符號來強制讓變量傳址。

Day6 Winnie的聊天室

中秋快樂~~ 一眨眼連假要過了,有點小傷心QQ
今天介紹一下每個程式語言都一定會提到的概念--變量,並下預告一下明天講常量,我很喜歡這種名字很像,但不一樣的東西,或說是常弄混的東西,然後找出不同點把它弄懂,因此,明天介紹名字很像的常量!


上一篇
Day5 利用 Vscode 執行 PHP
下一篇
Day7 PHP常量
系列文
PHP 語法通關30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
huangsb
iT邦好手 1 級 ‧ 2022-07-28 09:29:08

一下「變量」,一下「變數」,我都搞混了,我只記得以前都叫「變數」。

桃熊 iT邦新手 3 級 ‧ 2022-07-28 11:58:33 檢舉

QAQ ~
修改了XD
有地方我還少了數"據"
我兩個都常聽到...

我要留言

立即登入留言