欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 傳值賦值與引用賦值的區(qū)別

 更新時間:2010年12月29日 16:56:51   作者:  
引用賦值:這意味著新的變量簡單的引用(換言之,“成為其別名” 或者 “指向”)了原始變量。改動新的變量將影響到原始變量,反之亦然。
傳值賦值:當(dāng)將一個表達(dá)式的值賦予一個變量時,整個原始表達(dá)式的值被賦予到目標(biāo)變量。這意味著,例如,當(dāng)一個變量的值賦予另一個變量時,改變其中一個變量的值,將不會影響到另一個變量。
復(fù)制代碼 代碼如下:

<?php <?php
$a=123; $a=123;
$b=$a; $b=&$a;
$a=321; $a=321;
Echo”$a,$b”;//顯示”321,123” Echo”$a,$b”;//顯示”321,321”
?> ?>
引用賦值:新的變量簡單的引用了原始變量,改變新的變量將影響到原始變量使用引用賦值,簡單地將一個&符號加到將要賦值的變量前(源變量)
類型戲法PHP 在變量定義中不需要(或不支持)明示的類型定義;變量類型是根據(jù)使用該變量的上下文所決定的。也就是說,如果把一個字符串值賦給變量 var ,var 就成了一個字符串。如果又把一個整型值賦給 var ,那它就成了一個整數(shù)。
類型強制轉(zhuǎn)換
允許的強制轉(zhuǎn)換有: (int),(integer) - 轉(zhuǎn)換成整型 (bool),(boolean) - 轉(zhuǎn)換成布爾型 (float),(double),(real) - 轉(zhuǎn)換成浮點型 (string) - 轉(zhuǎn)換成字符串 (array) - 轉(zhuǎn)換成數(shù)組 (object) - 轉(zhuǎn)換成對象 Settype()進(jìn)行類型轉(zhuǎn)換
函數(shù)Settype()
[code]
<?php
$foo = "5bar"; // string
$bar = true; // boolean

settype($foo, "integer"); // $foo 現(xiàn)在是 5 (integer)
settype($bar, "string"); // $bar 現(xiàn)在是 "1" (string)
?>

變量范圍變量的范圍即它定義的上下文背景(也就是它的生效范圍)。大部分的 PHP 變量只有一個單獨的范圍。這個單獨的范圍跨度同樣包含了 include 和 require 引入的文件。
靜態(tài)變量變量范圍的另一個重要特性是靜態(tài)變量(static variable)。靜態(tài)變量僅在局部函數(shù)域中存在,但當(dāng)程序執(zhí)行離開此作用域時,其值并不丟失。
數(shù)組PHP 中的數(shù)組實際上是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方面做了優(yōu)化,因此可以把它當(dāng)成真正的數(shù)組來使用,或列表(矢量),散列表(是圖的一種實現(xiàn)),字典,集合,棧,隊列以及更多可能性。因為可以用另一個 PHP 數(shù)組作為值,也可以很容易地模擬樹。
定義 array() 可以用 array() 語言結(jié)構(gòu)來新建一個 array。它接受一定數(shù)量用逗號分隔的 key => value 參數(shù)對。
array( key => value , ... )
// key 可以是 integer 或者 string
// value 可以是任何值
復(fù)制代碼 代碼如下:

<?php // 現(xiàn)在刪除其中的所有單元,但保持?jǐn)?shù)組本身的結(jié)構(gòu)
// 創(chuàng)建一個簡單的數(shù)組 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() 函數(shù)允許取消一個數(shù)組中的鍵名。要注意數(shù)組將不會重建索引。
復(fù)制代碼 代碼如下:

<?PHP
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 將產(chǎn)生一個數(shù)組,定義為
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>

構(gòu)造函數(shù)
void __construct ([ mixed $args [, $... ]] )
PHP 5 允行開發(fā)者在一個類中定義一個方法作為構(gòu)造函數(shù)。具有構(gòu)造函數(shù)的類會在每次創(chuàng)建對象時先調(diào)用此方法,所以非常適合在使用對象之前做一些初始化工作。
Note: 如果子類中定義了構(gòu)造函數(shù)則不會暗中調(diào)用其父類的構(gòu)造函數(shù)。要執(zhí)行父類的構(gòu)造函數(shù),需要在子類的構(gòu)造函數(shù)中調(diào)用 parent::__construct()。
Example#1 使用新標(biāo)準(zhǔn)的構(gòu)造函數(shù)
復(fù)制代碼 代碼如下:

<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
?>

雙引號里面的字段會經(jīng)過編譯器解釋,然后再當(dāng)做html代碼輸出。單引號里面的不進(jìn)行解釋,直接輸出。$abc='my name is tom'; echo $abc//結(jié)果是my name is tom ;echo'$abc'//結(jié)果是$abc;echo”$abc”//結(jié)果是my name is tom


訪問控制對屬性或方法的訪問控制,是通過在前面添加關(guān)鍵字 public、protected 或 private 來實現(xiàn)的。由 public 所定義的類成員可以在任何地方被訪問;由 protected 所定義的類成員則可以被其所在類的子類和父類訪問(當(dāng)然,該成員所在的類也可以訪問);而由 private 定義的類成員則只能被其所在類訪問。
復(fù)制代碼 代碼如下:

<?php
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}

抽象類PHP 5中引入了抽象類和抽象方法。不允許創(chuàng)建一個已經(jīng)定義為abstract的類的一個實例。任何至少包含一個抽象方法的類也必須是抽象的。被定義為抽象的方法僅僅是聲明方法的一個信號,并不能定義它們的實現(xiàn)。
當(dāng)從一個抽象類繼承時,在父類中所有抽象方法的標(biāo)記的聲明必須通過子類定義;另外,這些方法必須用定義相同的訪問屬性。例如,如果方法被定義為protected類型,執(zhí)行函數(shù)必須定義為protected或public.
接口對象接口允許你創(chuàng)建一個指定類的方法的執(zhí)行代碼,而不必說明這些方法是如何被操作(處理)的。接口被用來定義接口關(guān)鍵字的使用,同樣作為一個標(biāo)準(zhǔn)類,但沒有任何方法有它們內(nèi)容的定義。在接口中所有的方法必須聲明為public,這是接口的特性。implements (執(zhí)行,實現(xiàn))為了實現(xiàn)一個接口,使用了implements操作。在接口中所有的方法必須在一個類的內(nèi)部實現(xiàn);疏忽這些將導(dǎo)致一個致命錯誤。如果渴望通過使用一個逗號分開每個接口,類可以實現(xiàn)多個接口。
重載方法調(diào)用和成員訪問都能通過__call,__get和__set方法被加載。這些方法將只有當(dāng)你試圖訪問不包括成員或方法的對象或繼承對象時觸發(fā)。不是所有的重載方法都必須被定義為static.從PHP 5.1.0開始也可以通過__isset()和__unset()方法逐個重載isset()和unset()函數(shù)。
PHP $_GET變量是通過get方法從表單中獲取“值”的。當(dāng)使用“$_GET”變量時,所有的變量名和變量值都會顯示在URL地址欄內(nèi);所以,當(dāng)你發(fā)送的信息包含密碼或是其他一些敏感信息時,就不可以再使用這種方法。
PHP $_POST變量的作用是:獲取method = “post”方法發(fā)送的表單變量。
案例
復(fù)制代碼 代碼如下:

<form action="welcome.php" method="post">
Enter your name:
<input type="text" name="name" />
Enter your age:
<input type="text" name="age" />
<input type="submit" />
</form>

Cookie通常用來驗證或辨別一個用戶。Cookie是通過服務(wù)器發(fā)送到用戶計算機中的一個小文件。每次,當(dāng)相同的計算機通過瀏覽器請求一個頁面時,原先存儲的cookie也會發(fā)送到服務(wù)器。你可以使用PHP來創(chuàng)建和獲取cookie的值。
復(fù)制代碼 代碼如下:

<?php
setcookie("user", "Alex Porter", time()+3600); ?>
<html> <body></body> </html>
獲取cookie值<?php
// Print a cookie
echo $_COOKIE["user"];
// A way to view all cookies
print_r($_COOKIE);
?>

PHP session變量的作用是:存儲用戶的session信息,或者改變用戶的session設(shè)置。Session變量儲存了一個單一用戶的信息,它可以被所有的頁面使用。
<?php session_start(); ?> <html> <body></body> </html>
Mvc模式 將應(yīng)用的表示與底層應(yīng)用邏輯相分離 分三個部分:模型 視圖 控制器
Zend_controllers路由發(fā)送一個用戶請求時,它會自動地在控制器目錄中查找一個名為nameController.php的文件,這里name對應(yīng)所指定的控制器名,這說明名為news的控制器對應(yīng)于一個名為newscontroller.php的文件
Smarty是一個php編寫的模板引擎,使你能輕松地將應(yīng)用輸出和表示邏輯和應(yīng)用邏輯分離
ZEND配置
1、創(chuàng)建本地解析C:\WINNT\system32\drivers\etchosts
127.0.0.1 phpweb20 127.0.0.1 phpmyadmin
2、httpd.conf D:\AppServ\Apache2.2\conf
(1)打開重寫引擎 hpptd.conf (沒有#的是能打開的模塊) #LoadModule rewrite_module
去掉前面的#
(2)打開虛擬主機 #Include conf/extra/httpd-vhosts.conf 去掉前面#
3、httpd-vhosts.conf
復(fù)制代碼 代碼如下:

<VirtualHost *:80>
ServerName phpweb20
DocumentRoot "d:\appserv\www\phpweb20\htdocs"
<Directory "d:\appserv\www\phpweb20\htdocs">
AllowOverride All
Options All
</Directory>
php_value include_path ".;d:\appserv\www\phpweb20\include;D:\AppServ\php5\ext"
</VirtualHost>

4、創(chuàng)建.htaccess
5、修改php.ini
C:\WINNT
導(dǎo)入
php_pdo.dll
php_pdo_mysql.dll

相關(guān)文章

  • 詳解提高使用Java反射的效率方法

    詳解提高使用Java反射的效率方法

    在本篇文章中小編給大家分享了關(guān)于提高使用Java反射的效率的相關(guān)知識點和方法,需要的朋友們參考下。
    2019-04-04
  • php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法

    php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法

    這篇文章主要介紹了php版微信支付api.mch.weixin.qq.com域名解析慢原因與解決方法,詳細(xì)分析了微信支付api.mch.weixin.qq.com域名解析慢原因與使用curl_easy_setopt指定ipv4解決ipv6解析問題的相關(guān)技巧,需要的朋友可以參考下
    2016-10-10
  • php實現(xiàn)的http請求封裝示例

    php實現(xiàn)的http請求封裝示例

    這篇文章主要介紹了php實現(xiàn)的http請求封裝,結(jié)合實例形式分析了php基于curl的http請求操作功能實現(xiàn)技巧與使用方法,需要的朋友可以參考下
    2016-11-11
  • php環(huán)境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比較?

    php環(huán)境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比較?

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?在php運行環(huán)境配置中用得到,究竟哪種更適合網(wǎng)站。
    2011-10-10
  • php下實現(xiàn)折線圖效果的代碼

    php下實現(xiàn)折線圖效果的代碼

    php下實現(xiàn)折線圖效果的代碼...
    2007-04-04
  • PHP入門基礎(chǔ)之注釋的寫法

    PHP入門基礎(chǔ)之注釋的寫法

    PHP是在服務(wù)器端執(zhí)行的腳本語言,是常用的網(wǎng)站編程語言。那么PHP的注釋方法是什么呢?下面我們來詳細(xì)了解PHP中注釋的寫法
    2022-06-06
  • PHP實現(xiàn)多維數(shù)組多字段自定義排序

    PHP實現(xiàn)多維數(shù)組多字段自定義排序

    這篇文章主要介紹了PHP實現(xiàn)多維數(shù)組多字段自定義排序,通過將待排序數(shù)組的各個數(shù)組的$field保存在一維數(shù)組fieldArr中,在傳入array_multisort中參與排序,相當(dāng)于對$field一維數(shù)組的排序,而后根據(jù)排序后的key重新構(gòu)建傳入的待排序數(shù)組,需要的朋友可以參考下
    2023-10-10
  • PHP單例模式實例分析【防繼承,防克隆操作】

    PHP單例模式實例分析【防繼承,防克隆操作】

    這篇文章主要介紹了PHP單例模式,結(jié)合實例形式分析了php單例模式的定義,以及php防繼承,防克隆等操作技巧,代碼注釋中備有詳盡的說明,需要的朋友可以參考下
    2019-05-05
  • XAMPP升級PHP版本實現(xiàn)步驟解析

    XAMPP升級PHP版本實現(xiàn)步驟解析

    這篇文章主要介紹了XAMPP升級PHP版本實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • PHP+redis實現(xiàn)添加處理投票的方法

    PHP+redis實現(xiàn)添加處理投票的方法

    這篇文章主要介紹了PHP+redis實現(xiàn)添加處理投票的方法,結(jié)合實例較為詳細(xì)的分析了PHP+redis數(shù)據(jù)庫操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11

最新評論