導航:首頁 > 編程語言 > php對象屬性賦值

php對象屬性賦值

發布時間:2023-03-29 21:00:18

php 賦值

假定一個類:test
class test
{
private $name;
function __construct($name)
{
$this->name = $name; //這句的意思就是在對象初始化的時候將值賦給受保護的變數$name,當然我一般會把後面參數的$name使用$pname代替,這樣不會被混淆了
}
}
$test = new test('Test_name');
你應該多看些關於面向對象設計方面的書,這樣或許會好些!
Good luck!

⑵ 為什麼PHP對象的屬性不能給它賦值為對象和資源性的變數

可以的。。只是在定義類屬性的時候不可以。

因為在聲明屬性的時候,不能書寫表達式。
實例化好的對象屬性,是可以隨意賦值的。除非是 __set 和 __get 方法製作的「偽屬性」,在方法里加了判斷。

⑶ PHP 類里賦值一般用哪個函數,如何分辨

construct

通常構造方法被用來執行一些有用的初始化任務,如對成員屬性在創建對象時賦予初始值。
構造方法的在類中的聲明格式
function __constrct([參數列表]){
方法體//通常畝李用來對成員屬性進行初始化賦值
}
__get
這個方法用來獲取私有成員屬性值的,有一個參數,參數傳入你要獲取的成員屬性的名稱,返回攔耐畢獲取的屬性值,這個方法不用我們手工的去調用,因為我們也可以把這個方法做成私有的方法,是在直接獲取私有屬性的時候對象自動調用的。因為私有屬性已經被封裝上了,是不能直接獲取值的(比如:「echo
$p1->name」這樣直接獲取是錯誤的),但是如果你在類裡面加上了這個方法,在使用「echo
$p1->name」這樣的語句直接獲取值的時候就會自動調用__get($property_name)方法,將屬性name傳給參數$property_name,通過這個方法的內部執行,返回我們傳入的私有屬性的值。如果成員屬性不封裝成私有的,對簡芹象本身就不會去自動調用這個方法。

⑷ php類屬性的賦值問題

cache_factory(這個是類名)::$cache_factory(這個是類內的私有靜態屬性,該屬性的值是cache_factory類的實例)->cache_config=$cache_config;其他不需要解釋了吧


不過這個代碼很爛,不建議把這個當作參考資料。幫你修改了一下,看這個吧

final class cache_factory {
private static $instance;
protected $cache_config = array();
protected $cache_list = array();
protected function __construct(array $configs) {
$this->cache_config = $configs;
}
public static function get_instance(array $cache_config = null) {
if (! self::$instance instanceof cache_factory) {
if (is_null($cache_config)) {
die('無效的初始化設置');
}
self::$instache = new cache_factory($cache_configs);
}
return self::$instance;
}
}

⑸ 在php5中對象的賦值是怎麼回事 $a=new Class() $b=$a 等於號是指向同一內存地址,還是重新開內存

當類生成一個實例(對象)的時候,返回值$a並不是對象本身,而只是對象的一個id(或者資源句柄),所以,當$a被賦值給$b的時候,$b也指向了這個對象。當對$a初始化的時候,$b也被初始化了。當$a被銷毀(=null)的時候,因為對應圓臘的對象還有一個句柄存在($b),所以對象並不會被銷毀,穗腔汪析構函數也不會被觸發。如果是$b=&$a 這樣是指猜仔向同一內存 當$a=null 的時候 $b 也為null

⑹ PHP實現刪除多重數組對象屬性並重新賦值的方法

本文實例講述了PHP實現刪除多重數組對象屬性並重新賦值的方法。分享給大家供大家參考,具體如下:
實例:sphinx搜索出來的結果,要去掉某個屬性值:
$cl
=
new
SphinxClient
();
$query
=
$cl->Query
(
$keyword,
$index
);
方法一,直接刪除屬性:
foreach
(
$query['matches']
as
$k
=>
$val
)
{
unset($query['matches'][$k]["attrs"]["content"]);
unset($query['matches'][$k]["attrs"]["remarks"]);
}
方法二,把對應屬性值設置為空或其他需要的值:
foreach
(
$query['matches']
as
$k
=>
$val
)
{
$query['matches'][$k]["attrs"]["content"]
=
'';
$query['matches'][$k]["attrs"]["remarks"]
=
'';
}
註:要操作多重數組的關鍵是foreach循環里用
as
$k
=>
$val
取得具體元素的下標,否則無法操作。
另:php使用sphinx搜索可參考
php啟用sphinx全文搜索的實現方法
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《php常用函數與技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

⑺ php如何賦值

PHP賦值有多種情況:

  1. 直接賦值:賦值符號"=" ,賦值符號前面的是變數,後邊的是賦的值;示例如下:

    <?php
    $a=10;
    $b='';
    ?
  2. 傳遞賦值:將一個表達式的值賦予一個變數(改變其中一個變數的值,不會影響到另一個變數的值);示例如下:

    <?php
    $num1=100;
    $num2=$num1;//傳值賦值後,$num2的值為:100
    ?
  3. 引用賦值:賦值符號"&",當新的變數引用了原始變數的值後,如果改變新的變數將影響到原始變數。示例如下:

    <?php
    $a=3;
    $b=5;
    $a=&$b;//把$b的地址賦值給$a,這時$a的值也是5了。如果修改$b的值,那麼$a的值也會發生變化。
    ?>

⑻ php對象屬性賦值

你這樣使用時不符合oop的規范的,成員變數在最開始只能簡單的定義,如果你要實現上述的代碼應該這樣:
class Test{
public $strtodate = 0;
public function __construct() {
$this->$strtodate = strtotime('2012-01-22');

}
}

$test = new Test();
echo $test->strtodate;

閱讀全文

與php對象屬性賦值相關的資料

熱點內容
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396