我正在PHP中開發一個OpenSource項目,我需要操作選項數組。操作選項數組
我正在尋找做這些東西的功能,這裏下面是我想要做的例子。 我不知道這是否是正確的方式來管理這個,也許還有其他一些選擇,或者可能是已經創建的類可以處理所有這些,我都對解決方案開放。
// Define an array of options
$arr = array(
'options' => array(
'levelA' => array(
'property1' => 'value1',
'property2' => 'value2',
),
'levelB' => array(
'property3' => 'value3',
'property4' => 'value4',
),
'levelC' => array(
'property5' => 'value5',
'property6' => 'value6',
)
)
)
// Remove the property5 in levelC in options.
$arr = array_delete_value($arr, array('options', 'levelC', 'property5'));
// Result array
$arr = array(
'options' => array(
'levelA' => array(
'property1' => 'value1',
'property2' => 'value2',
),
'levelB' => array(
'property3' => 'value3',
'property4' => 'value4',
),
'levelC' => array(
'property6' => 'value6',
)
)
)
// Delete the levelB in options.
$arr = array_delete_value($arr, array('options', 'levelB'));
// Result array
$arr = array(
'options' => array(
'levelA' => array(
'property1' => 'value1',
'property2' => 'value2',
),
'levelC' => array(
'property6' => 'value6',
)
)
)
// Set a new value in the options in options -> levelD -> property7. Create it if needed.
$arr = array_set_value(array('options', 'levelD', 'property7'), 'value7');
// Result array
$arr = array(
'options' => array(
'levelA' => array(
'property1' => 'value1',
'property2' => 'value2',
),
'levelC' => array(
'property6' => 'value6',
),
'levelD' => array(
'property7' => 'value7',
)
)
)
// Create an array of options in options -> levelD
$arr = array_set_value(array('options', 'levelD'), array('property8' => 'value8', 'property9' => 'value9'));
// Result array
$arr = array(
'options' => array(
'levelA' => array(
'property1' => 'value1',
'property2' => 'value2',
),
'levelC' => array(
'property6' => 'value6',
),
'levelD' => array(
'property8' => 'value8',
'property9' => 'value9',
)
)
)
那麼問題是什麼? – Utkanos 2014-09-30 17:31:23
這看起來像對象材料 - 數據結構和事務非常複雜,並且自己成爲一個類。 – 2014-09-30 17:36:46