首頁 > 後端開發 > PHP問題 > php數組下標不能用變數嗎

php數組下標不能用變數嗎

PHPz
發布: 2023-04-12 11:29:07
原創
759 人瀏覽過

在PHP中,普通的陣列下標必須是固定定義的字串或數字,不能是變數。

例如,以下程式碼是不正確的:

$index = 'name';
$array = [];
$array[$index] = 'John';
登入後複製

在上面的範例中,將會提示錯誤"Undefined index",因為在陣列$array 中不存在名為$index 的下標。

解決這個問題的方法是,透過 {} 將變數當作下標的值來使用。例如:

$index = 'name';
$array = [];
$array[$index] = 'John';
$array2 = [];
$array2["{$index}"] = 'John';
登入後複製

上面的程式碼將會正常運作,它們都會將'John' 作為$array$array2 陣列中"name" 這個下標的值。

除了上述方法之外,使用變數作為下標還有一種方法,那就是使用variable variable,透過將變數名稱作為另一個變數的值,並在變數名前添加$ 符號來引用變數。例如:

$index = 'name';
$$index = 'John';
echo $name;
登入後複製

在上面的程式碼中,實作了動態的變數定義和使用。 $$index 可以看做是$name 的簡寫形式,它將會被賦值為'John',而echo $name 將會輸出'John'

雖然 variable variable 可以讓程式更動態,但是它也會讓程式碼變得難以理解和維護,所以應該謹慎使用。

總之,PHP中的數組下標不能使用變量,並且可以透過 {}variable variable 的方式來使用變數作為下標的值。

以上是php數組下標不能用變數嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板