第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以在 PHP 中聲明空變量?

是否可以在 PHP 中聲明空變量?

PHP
白衣非少年 2023-05-12 15:21:15
在 PHP 中有沒有明確的方法來聲明變量而不分配任何值?類似于 Java 或 Javascript?像這樣的東西。var $variable;我假設(shè)此變量的默認(rèn)值為NULL. 如果不可能,是否有任何合乎邏輯的解釋為什么它沒有在 PHP 中實現(xiàn)?有很多文章的表格描述了isset,empty等的布爾結(jié)果。還有一個 value 的例子var $var; (a variable declared, but without a value),但是列出它有意義嗎?+------------------------------------------------------+--------------+-------------+---------------+|               Value of variable ($var)               | isset($var)  | empty($var) | is_null($var) |+------------------------------------------------------+--------------+-------------+---------------+| NULL                                                 | bool(false)  | bool(true)  | bool(true)    || var $var; (a variable declared, but without a value) | bool(false)  | bool(true)  | bool(true)    |+------------------------------------------------------+--------------+-------------+---------------+https://www.virendrachandak.com/demos/php-isset-vs-empty-vs-is_null.php
查看完整描述

3 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗 獲得超3個贊

PHP 沒有像 Javascript 的var. PHP 變量在首次分配時被初始化。這是一種設(shè)計選擇,無論好壞。要創(chuàng)建一個變量,你總是必須給它賦值。由于變量必須有一些值,而 PHP 的“無”值是null,因此您需要:


$variable = null;

(存在創(chuàng)建變量的替代方法,例如引用,例如:parse_str($foo, $bar); var_dump($bar);,但讓我們把它放在一邊。)


該var語句存在于 Javascript 中以確定作用域;Javascript 具有嵌套作用域,需要顯式初始化以確定變量的作用域。PHP 中的作用域以不同的方式工作并且沒有歧義,因此不需要這樣一個單獨的語句。最初 PHP 也非常喜歡隱式全局變量(事后看來這是一個糟糕的想法),這與首先顯式初始化語句的想法有點沖突。


var $var;(聲明的變量,但沒有值)


這是一個不完整/不正確的引用,它應(yīng)該是"a variable declared but without a value in a class ",因為這是唯一var可以使用關(guān)鍵字的地方。


例如,Python 也使用賦值初始化,也有嵌套作用域。它使用不同的方法來解決這個問題:


foo = 42


def bar():

    foo = 69


    def baz():

        nonlocal foo

        foo = 2

Python 中的規(guī)則是,如果對函數(shù)內(nèi)部的變量進(jìn)行了任何賦值,則該變量是函數(shù)的局部變量。所以foo = 69在這里創(chuàng)建了一個新的局部變量bar。要允許從繼承范圍對變量進(jìn)行賦值,必須使用nonlocalor關(guān)鍵字顯式表示該變量是繼承的。這里重新分配,但都不重新分配。globalfoo = 2foo = 69foo = 42


查看完整回答
反對 回復(fù) 2023-05-12
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊

沒有var關(guān)鍵字的工作方式與 javascript 中的相同。

注意:與其他編程語言不同,PHP 沒有用于聲明變量的命令。它是在您第一次為其賦值時創(chuàng)建的。


你的另一個問題:

如果不可能,是否有任何合乎邏輯的解釋為什么它沒有在 PHP 中實現(xiàn)?

一種合乎邏輯的解釋是,在 PHP 中,所有變量都以$符號開頭。因此 PHP 無需聲明即可立即知道什么時候是變量而不是函數(shù)或關(guān)鍵字。

事實上,javascript 代碼也可以不使用聲明,但在這里,大多數(shù)情況下仍然推薦使用它們。


如果要null在 PHP 中聲明一個變量并將其值設(shè)置為,只需使用:

$myVar?=?null;


查看完整回答
反對 回復(fù) 2023-05-12
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊

您可以在不顯式的情況下進(jìn)行null:


class BarClass {

? ? private FooClass $foo;

作為簡單變量,你不能。使用$variable = null(或根本不寫)。由于默認(rèn)情況下所有未設(shè)置的變量均為 null:


$var1 = null;


var_dump(isset($var1), empty($var1), is_null($var1));

// bool(false), bool(true), bool(true)


var_dump(isset($var2), empty($var2), is_null($var2));

// Notice:? Undefined variable: var2 - From `is_null`

// bool(false), bool(true), bool(true)


查看完整回答
反對 回復(fù) 2023-05-12
  • 3 回答
  • 0 關(guān)注
  • 253 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號