我有一個數組$ PARAMS具有以下內容:數組鍵的值
Array(
0 => "array"
1 => "arrayName" //variable
2 => "key1" //optional&variable ie. 0 or 'foo'
3 => "key2" //optional&variable ie. 0 or 'foo'
//etc.
)
另外,我有一個包含我對被請求的頁面(MVC風格)所有變量的stdObject。 所以,我會在那裏有一個這樣的數組:
$std = new stdObject();
$std->arrayName->array('foo', 'bar');
現在我想$ STD數組的第一個值。因此,我在$ params中使用「key1」參數,並將其設置爲'0',以便選擇$ std-> arrayName [0]值('foo')。請注意,我不使用「key2」參數,因爲我不想選擇$ std-> arrayName [key1] [key2]。
但是如果我需要嵌套數組的值呢?
$std = new stdObject();
$std->arrayName->array('foo', array('bar', 'fish'));
我將通過設置 「KEY1」 參數設置爲1和 「KEY2」 參數設置爲1,以及請求$ STD-> arrayName中[1] [1]的值( '魚')。所以它會選擇$ std-> arrayName [key1] [key2]。
但是如果我有10個數組嵌套在一起呢?極不可能,但這是可能的。我想選擇$ std-> arrayName [key1] [key2] [key3] [..] [key10]來選擇位於那裏的某個值。 例如:$ std-> arrayName [0] [3] [4] [6] [2] [9] ['foo'] ['bar] [9] [2];
所以我的問題是:如何通過作爲第一個數組(arrayName)的鍵的另一個數組($ params)中定義的值來選擇某個數組(arrayName)的值。但是,鍵的數量($ params中的值)是可選的。
也許這個問題不完全可以理解,所以請隨時提出更多信息。
我已閱讀的問題兩次,仍然不知道它是什麼。你可能會更好地修改這些例子,使它們具有相似的鍵名,因爲'key_name_1'與'foo'的關係並不明顯' – zerkms 2012-07-05 23:13:02
@zerkms我改變了問題。理解更好嗎? – Jelmer 2012-07-05 23:33:20
不。就我個人而言,我仍然沒有看到'fish'和'key1'之間的任何聯繫 – zerkms 2012-07-05 23:40:04