2014-06-05 3 views
0

아래 코드는 현재 작업하고있는 코드입니다.하지만 그것은 다른 루프 내에서 여러 번 호출하고 있습니다. 누구든지이 코드를 다시 작성하는 더 깨끗한 방법을 제안 할 수 있습니까?PHP로 배열 생성하기 (코드 리팩터링)

일반적으로 보통 전달되는 숫자까지 카운트하는 연관 배열을 만듭니다.

array (size=100) 
    0 => 
    array (size=2) 
     'text' => int 1 
     'value' => int 1 
    1 => 
    array (size=2) 
     'text' => int 2 
     'value' => int 2 
    2 => 
    array (size=2) 
     'text' => int 3 
     'value' => int 3 
    3 => 
    array (size=2) 
     'text' => int 4 
     'value' => int 4 
    4 => 
    array (size=2) 
     'text' => int 5 
     'value' => int 5 
    5 => 
    array (size=2) 
     'text' => int 6 
    value' => int 6 

이 질문은이 사이트에 매우 관련이없는 경우 죄송합니다, 나 자신이 더 나은 방법을 코딩하고 나는이 질문을하는 경우 다른 생각할 수 없다 가르치려고 노력하고 있습니다.

어떤 이유로 든 구문을 매핑 할 때 구문 배열 매핑이 마음에 들지만 예제를 찾기 위해 고심하고 있습니다. 당신이 시도 할 수

$list = array_map(function($a) { 
    return array('text' => $a, 'value' => $a); 
}, range(1, $number)); 
+1

다른 루프를 표시 할 수 있습니까? – Daan

+0

안녕하세요. 아마도 다른 루프에서 배열을 만들 필요는 없을 것입니다. 배열을 만들 때 사용한 번호를 인덱싱 목적으로 다른 배열에 저장하는 것이 좋습니다. 그래서 당신은 MAX 인덱스의 배열을 가질 것입니다. 따라서 간단한 배열을 만들고 실제로 필요한 곳에 사용할 수 있습니다. – volkinc

답변

1

당신이에서지고 있었다 무엇 나는 그것이 어떤 식 으로든 더 나은 있는지 모르겠지만,이 같은 소리 각 반복마다 array_push 함수 호출을 중지하십시오.

+0

현재 예제보다 읽기 쉽지 않습니다. – Joseph

0

:

$list = array(); 
for($i = 1; $i <= $number ; $i++) { 
      $list[] = array('text'=>$i, 'value'=>$i); 
} 
return $list; 

그것은거야