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
이것은 Object 자료처럼 보입니다 - 데이터 구조와 트랜잭션이 충분히 복잡하고 그들 만의 고유 한 클래스가되어야합니다. –