簡體   English   中英

PHP-變量的通用變量名稱

[英]PHP - generic variable variable name of a variable

我在php上還很新,遇到了問題。.我有一個星期幾的電話

$days = array( 'monday', 'tuesday', 'wednesday', 'thurday', 'frieday', 'sunday',  'saturday' );

也有一個for loop index i=0 i<7 i++ ,它在一周中的每一天都運行着,所以我不需要重復執行7次代碼(每天1次),因此我可以打開,關閉,花費數小時並了解許多有關每天..

所以我循環了一部分,我需要將一個值賦給一個名為$ ini_XXXXX_close的通用變量,其中XXX是星期幾,因此($ini_$dias[$i]_close)($ini_$dias[$i]_close)

當我嘗試這樣做時: $ini_$dias[$i]_close=0; 我遇到了錯誤...所以我要做的是使用第三個變量。

$indexcloseini="ini_$dias[$i]_close";

然后$$ indexcloseini = 0,成功生成變量$ ini_XXXXX_close = 0; (doble $$從php手冊中讀取了它)

但是問題是當我稍后嘗試將該變量與IF語句中的任何其他值進行比較時。完成的唯一方法是已經使用了中間變量。

還有其他簡單的方法可以做到這一點。.我閱讀了php參考手冊,並嘗試使用{!}和很多東西,但無法正常工作。

是否有任何函數可以將此“ $ini_$dias[$i]_close ”轉換為字符串,所以我可以使

$*STRING CONVERSION FUNCTION of $ini_$dias[$i]_close* 

創建由許多變量值組成的變量?

我個人不會走那條路。 它是復雜的,令人困惑的,而且幾乎從來都不是有用的解決方案。 您是否考慮過使用嵌套數組存儲值? 甚至創建一個對象?

作為數組,您可以具有:

$ini = array('monday'=>array(), 'tuesday'=>array(), //etc);
$ini[$day]['closeStatus'] = 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM