傳值賦值:當一個表達式的值被賦予一個變數時,整個原始表達式的值被賦予到目標變數。這意味著,例如,當一個變數的值賦予另一個變數時,改變其中一個變數的值,將不會影響到另一個變數。
<?php $a=123; $a=123; $b=$a; $b=&$a; $a=321; $a=321; Echo”$a,$b”;//显示”321,123” Echo”$a,$b”;//显示”321,321” ?>
引用賦值:新的變數簡單的引用了原始變量,改變新的變數將影響到原始變數使用引用賦值,簡單地將一個&符號加到將要賦值的變數前(來源變數)
類型戲法PHP 在變數定義中不需要(或不支援)明示的類型定義;變數類型是根據使用該變數的上下文所決定的。也就是說,如果把字串值賦給變數 var ,var 就成了字串。如果又把一個整數值賦給 var ,那它就變成一個整數了。
類型強制轉換
允許的強制轉換有: (int),(integer) - 轉換成整數(bool),(boolean) - 轉換成布林型(float),(double),(real) - 轉換成浮點型(string) - 轉換成字串(array) - 轉換成陣列(object) - 轉換成物件Settype()進行型別轉換
函數Settype()
<?php $foo = "5bar"; // string $bar = true; // boolean settype($foo, "integer"); // $foo 现在是 5 (integer) settype($bar, "string"); // $bar 现在是 "1" (string) ?>
變數範圍變數的範圍即它定義的上下文背景(也就是它的生效範圍)。大部分的 PHP 變數只有一個單獨的範圍。這個單獨的範圍跨度同樣包含了 include 和 require 所引入的檔案。
靜態變數變數範圍的另一個重要特性是靜態變數(static variable)。靜態變數僅在局部函數域中存在,但當程式執行離開此作用域時,其值並不會遺失。
陣列PHP 中的陣列其實是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方面做了優化,因此可以把它當成真正的數組來使用,或列表(向量),散列表(是圖的一種實現),字典,集合,棧,隊列以及更多可能性。因為可以用另一個 PHP 陣列當值,也可以輕鬆模擬樹。
定義 array() 可以用 array() 語言結構來新建一個 array。它接受一定數量用逗號分隔的 key => value 參數對。
array( key => value , ... )
// key 可以是integer 或string
// value 可以是任何值
<?php // 现在删除其中的所有单元,但保持数组本身的结构 // 创建一个简单的数组 foreach ($array as $i => $value) { $array = array(1, 2, 3, 4, 5); unset($array[$i]); print_r($array); } print_r($array); // 添加一个单元(注意新的键名是 5,而不是你可能以为的 0) $array[] = 6; print_r($array); // 重新索引: $array = array_values($array); $array[] = 7; print_r($array); ?>
unset() 函數允許取消一個數組中的鍵名。要注意數組將不會重建索引。
<?PHP $a = array( 1 => 'one', 2 => 'two', 3 => 'three' ); unset( $a[2] ); /* 将产生一个数组,定义为 $a = array( 1=>'one', 3=>'three'); 而不是 $a = array( 1 => 'one', 2 => 'three'); */ $b = array_values($a); // Now $b is array(0 => 'one', 1 =>'three') ?>
以上是php傳值賦值與引用賦值有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!