當前位置:首頁 » 編程語言 » php初始化變數

php初始化變數

發布時間: 2022-12-31 09:47:16

php中為什麼要初始化變數請高手解答

php是弱類型語言,可以直接用,不過初始化是個好習慣。這樣以後再讀代碼的時候,可以很清楚該變數是干什麼用的。

我一般只有在定義數組的時候初始化。有的函數比較大,可能好多單詞比如data,之前用過了,但是如果忘了,繼續用$data['title']=「ddd」;往$data放數據,就會導致之前data里的數據被覆蓋,也可能之前不需要的數局進入了後面要用的data里。這時初始化一下,data實際就清空了。這樣一般不會有什麼問題

㈡ php 變數怎麼初始化

直接
$a = '';

$b = 0;

$c = array();

就可以了,php在這方面比較省事,靜態變數用define定義

如define('AAA',0);

類對象變數用 var

如 var $aaa = 0;

㈢ php變數初始化。用null。0。'' 那個好

習慣上都是用0的,因為0代表你初始化的這個變數時整形,而空則說明暫時不確定你初始化的這個變數的類型是什麼,哪個好你應該明白了吧

㈣ php為什麼變數要初始化 向高手討教

是這樣的,比如我們程序要使用$tmp來存儲一個循環裡面取到的內容,語句如下:

while(...){
if (...) $tmp=...;
}
if ($tmp==...) {...}

上面的語句,是在循環裡面判斷某個條件,條件滿足就賦值,循環結束後判斷變數的值來執行程序,看起來沒問題,但是實際上有問題。

因為在循環前沒有對$tmp='';這樣初始化,那麼循環中如果一直都沒有滿足條件,其實$tmp的值可能是不確定的。特別是,當欄位全局變數開關打開的時候,$tmp的值可能是調用這個PHP文件時的參數值,例如xxx.php?tmp=xxx這樣的調用就可以改變程序裡面變數的值,非常危險。

㈤ 關於php當中static關鍵字,資料上說只能初始化一次。但是數組變數在定義時賦值會被下一次初始化覆蓋!

你定義了static 就是靜態變數
但是靜態變數的初始化只進行一次,而且是定義靜態變數的時候初始化
static $a = array(1,2,3);
print_r($a);
static $a = array();
這樣實際上是定義了兩次靜態變數,並初始化,實際做會執行其中一個
就是後面這個
上面的代碼實際上會被編譯編程這樣
<?php
function f1(){
static $a = array();

print_r($a);

print_r($a);
}
function f2(){
static $a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
print_r($a);
print_r($a);
}

㈥ PHP定義類內數組,在初始化訪問數組是提示為定義變數

$this->table[$i][0]="null";

㈦ PHP中為什麼要初始化變數

由於不存在聲明語句,所以變數初始化過程應該直接賦值,例如: $str_demo=""; 未初始化變數的默認值
未初始化的變數被使用時,具有其類型的默認值:FALSE,零,空字元串或者空數組。 舉例如下: <?php echo ($unset_bool? "true": "false"); // false $unset_int += 25; // 0 + 25 => 25 echo $unset_string . "abc"; // "" . "abc" => "abc" $unset_array[3] = "def"; // array() + array(3 => "def") => array(3 => "def") ?> 未初始化變數可能帶來的問題
依賴未初始化變數的默認值在某些情況下會有問題,例如: 直接使用未定義變數可能會報錯,比如這樣的程序 <?php if($command!= "kkk") echo "not kkk"?>
可能會出現錯誤提示 <b>Notice:</b> Undefined variable: command in <b>X:\wamp\www\xxx.php</b> on line 1
以上程序的錯誤信息屬於E_NOTICE級別,是否顯示出來與php.ini中的錯誤級別設置有關。

㈧ php為什麼變數要初始化 向高手討教

是這樣的,比如我們程序要使用$tmp來存儲一個循環裡面取到的內容,語句如下:
while(...){
if
(...)
$tmp=...;
}
if
($tmp==...)
{...}
上面的語句,是在循環裡面判斷某個條件,條件滿足就賦值,循環結束後判斷變數的值來執行程序,看起來沒問題,但是實際上有問題。
因為在循環前沒有對$tmp='';這樣初始化,那麼循環中如果一直都沒有滿足條件,其實$tmp的值可能是不確定的。特別是,當欄位全局變數開關打開的時候,$tmp的值可能是調用這個PHP文件時的參數值,例如xxx.php?tmp=xxx這樣的調用就可以改變程序裡面變數的值,非常危險。

㈨ ThinkPHP遇到的類私有變數賦值問題

Home\Common\Map.class.php文件

<?php

namespace Home\Common;

class Map {

    static function getName() {

        $map = array(

            '0' => '張三',

            '1' => '李四',

            '2' => '王五',

            '3' => '趙六'

        );

        return $map;

    }

}

Home\Controller\IndexController.class.php文件

<?php

namespace Home\Controller;

use Think\Controller;

use Home\Common\Map as map;

class IndexController extends Controller {

    private $sex = array(0,1);

    private $name = map::getName();  // 寫法1

    // 測試 靜態函數 類私有變數賦值

    public function getName() {

        $name = map::getName();        // 寫法2

        var_mp($name);

    }

}

其中,寫法1出錯,顯示:

寫法2顯示:

如果想私有變數賦值,可以構造函數賦值,即在__construct()里賦值:

$this->name = map::getName();    // 注意千萬別寫成$this->$name

類的變數成員叫做「屬性」,或者叫「欄位」、「特徵」。屬性聲明是由關鍵字  public , protected  或者  private  開頭,然後跟一個普通的變數聲明來組成。 屬性中的變數可以初始化,但是初始化的值必須是常數 ,這里的常數是指 PHP 腳本在編譯階段時就可以得到其值,而不依賴於運行時的信息才能求值。

在類的成員方法裡面,可以用  -> (對象運算符):$this -> property(其中  property  是該屬性名)這種方式來訪問 非靜態屬性 。 靜態屬性 則是用   :: (雙冒號):self::$property 來訪問。

當一個方法在類定義內部被調用時,有一個可用的偽變數 $this。$this 是一個到主叫對象的引用(通常是該方法所從屬的對象,但如果是從第二個對象 靜態 調用時也可能是另一個對象)。

具體請參考:http://php.net/manual/zh/language.oop5.properties.php

㈩ PHP的變數是什麼

PHP中的每個變數都有一個針對它的作用域,它是指可以在其中訪問變數(從而訪問它的值)的一個領域。對於初學者來說,變數的作用域是它們所駐留的頁面。我們為大家收集整理了關於PHP的變數,以方便大家參考。

變數是程序中或以變化的量,用於存儲數字、字元串或函數的結果。

一旦設置了某個變數,我們就可以在腳本中重復地使用它。

PHP 中的所有變數都是以 $ 符號開始的。

在 PHP 中設置變數的正確方法是:

$var_name = value;

PHP 的入門者往往會忘記在變數的前面的 $ 符號。如果那樣做的話,變數將是無效的。

下面我們創建一個存有字元串的變數,和一個存有數值的變數:

$txt = "Hello World!";

$number = 16;

?>

PHP 是一門鬆散類型的'語言(Loosely Typed Language)

在 PHP 中,不需要在使用變數之前先聲明該變數。

在上面的例子中,您看到了,不必向 PHP 聲明該變數的數據類型。

根據變數被設置的方式,PHP 會自動地把變數轉換為正確的數據類型。

在強類型的編程語言中,您必須在使用前聲明變數的類型和名稱。

在PHP中,變數會在使用時被自動聲明。

變數的命名規則

變數名必須以字母或下劃線 "_" 開頭。

變數名只能包含字母數字字元以及下劃線。

變數名不能包含空格。

如果變數名由多個單片語成,那麼應該使用下劃線進行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString)。

熱點內容
解壓玩具怎麼做只用水就可以做 發布:2025-07-01 20:52:56 瀏覽:159
解壓放鬆室 發布:2025-07-01 20:52:43 瀏覽:123
存儲器壞了 發布:2025-07-01 20:46:11 瀏覽:510
iphone怎麼設鎖屏密碼 發布:2025-07-01 20:46:10 瀏覽:620
伺服器如何處理千萬請求 發布:2025-07-01 20:30:53 瀏覽:332
plsqldeveloperjob 發布:2025-07-01 20:29:59 瀏覽:803
剪切文件用什麼配置 發布:2025-07-01 20:23:07 瀏覽:41
酷睿2020主要看哪些配置 發布:2025-07-01 20:23:06 瀏覽:259
sql保存文件 發布:2025-07-01 20:18:52 瀏覽:801
安卓做的登錄頁面怎麼運行 發布:2025-07-01 20:18:48 瀏覽:811