前段時間我已經發布了一個類似的問題,但現在它有所不同,所以請不要將其作爲副本關閉。我有多維數組。我需要一個函數來查找給定數組鍵的位置(我所有的數組鍵都是字符串),然後返回數組中鍵的位置,作爲數組。PHP:動態查找多維數組中的關鍵位置
下面是一個例子數組:
$arr = array ( 'fruit' => array( 'apples' => array(), 'oranges' => array(), 'bananas' => array() ), 'vegetables' => array( 'tomatoes' => array(), 'carrots' => array(), 'celery' => array(), 'beets' => array ( 'bears' => array(), 'battlestar-galactica' => array() ), ), 'meat' => array(), 'other' => array() );
該函數應具有的參數的變量/動態數(即可選參數)。參數表示我的數組的「級別」(維度)。
如果函數獲取與一個參數調用時,該函數只能尋找在陣列的第一級/維度鍵(即,在示例的那些將是'fruit'
,'vegetables'
,'meat'
和'other'
)。
如果它被兩個參數調用,例如theFunction('vegetables', 'beets')
,它應該尋找一個名爲'vegetables'
的密鑰,然後尋找名爲'beets'
的「子」鍵(僅在'vegetables'
級別/分支/維度上!)在該示例中,它將返回array(1, 3)
。
當然,這應該適用於任何級別/維度。
爲什麼你不使用你已知的鑰匙? Like $ arr ['vegelatbles'] ['beets']; 這將與$ arr [1] [3]相同; – JochenJung 2010-07-02 11:50:25
你知道'$ arr ['secondkey']!= $ arr [1]'... – fbstj 2010-07-02 11:53:16
@Jochen $ arr [1] [3]與$ arr ['vegelatbles'] ['beets 「];? – Gordon 2010-07-02 11:53:57