내가 다음과 같습니다 배열이 번호를 다시하는 array_merge 방지하는 방법 : 다음숫자 키
Array (
[0] => Array ([unit_id] => 1 [unit_name] => Clown Fish)
[1] => Array ([unit_id] => L [unit_name] => Liter)
[2] => Array ([unit_id] => 2 [unit_name] => Elephant )
[3] => Array ([unit_id] => 3 [unit_name] => Water Bottle)
[4] => Array ([unit_id] => 4 [unit_name] => Office Seating)
[5] => Array ([unit_id] => 5 [unit_name] => Green Green Grass)
)
을, 나는이
처럼 보이도록 배열을 변환하는 기능function array_to_list($arr_data, $str_key, $str_value) {
$arr_list = array();
if (is_array($arr_data)) {
foreach($arr_data as $arr_value) {
if (isset($arr_value[$str_key]) && isset($arr_value[$str_value])) {
$arr_list = array_merge($arr_list, array($arr_value[$str_key] => $arr_value[$str_value]));
}
}
}
return $arr_list;
}
을 썼다
Array (
[1] => Clown Fish)
[L] => Liter)
[2] => Elephant)
[3] => Water Bottle)
[4] => Office Seating)
[5] => Green Green Grass)
)
대신 출력은
입니다.Array (
[0] => Clown Fish)
[L] => Liter)
[1] => Elephant)
[2] => Water Bottle)
[3] => Office Seating)
[4] => Green Green Grass)
)
나는 php 매뉴얼에 따라 "숫자 키가있는 입력 배열의 값은 결과 배열에서 0부터 시작하는 키가 증가하여 번호가 매겨집니다."라는 array_merge 자체의 특성과 관련이 있다고 가정합니다.
나는 array_merge의 유무에 관계없이 원하는 결과를 얻을 수있는 방법이 있습니까? 이 단지 출력 값을 설정
function array_to_list($arr_data, $str_key, $str_value) {
$arr_list = array();
if (is_array($arr_data)) {
foreach($arr_data as $arr_value) {
if (isset($arr_value[$str_key]) && isset($arr_value[$str_value])) {
// This is the changed line:
$arr_list[ $arr_value[$str_key] ] = $arr_value[$str_value];
}
}
}
return $arr_list;
}
:
http://www.programmingfacts.com/merging-arrays-with-reindex-and-without-reindexing/ – PlagueEditor
감사 너무 빨리 대답 했어. 솔루션이 너무 단순하다는 것을 알기는 당혹 스럽지만 아직 인터넷 검색을 할 때 찾을 수는 없습니다. 고맙습니다. – dqiu