2009-11-23 2 views
0

왜이 코드에 '정의되지 않은 변수 $ image_src'어떻게해야합니까 : 나는 $image_src.$i가 얼마나 많은 루프에 따라 변수 $image_src1 또는 $image_src2 참조 할PHP가이 작은 코드에서 언급하는 변수를 찾지 못하는 이유는 무엇입니까?

$image_src1=null; 
$image_src2=null; 
for ($i=1; $i<=$nr_of_pics; $i++) { 
     $image_src.$i = $image_id.'_'.$i; 
     } 

    echo $image_src1; 

을 ...하지만 찾을 싶어 '$ i'가 끝나는 변수를 찾고 싶기 때문에 존재하지 않는 끝 nr이없는 변수 $image_src!

$i이 변수 $image_src의 마지막 숫자에 해당하지 않습니다.

나머지 코드는 정상입니다.

덕분에 이런 식으로 참조

답변

3

변경 그것에 :

${'image_src' . $i} = $image_id . '_' . $i; 

또는 수행 할 수도 있습니다. 이 방법 :

$var = 'image_src' . $i; 
$$var = $image_id . '_' . $i; 

PHP 설명서에서 variable variables을 참조하십시오.

편집 : 물론 당신은 항상 이것에 대한 배열을 사용할 수 있기 때문에 내가 당신의 질문을 믿고있어가 문제의 간단한 예입니다 :이 같은 가변 변수보다 더 많은 의미가 있습니다

$image_src = array(); 
for ($i=1; $i<=2; $i++) { 
    $image_src[$i] = $image_id . '_' . $i; 
} 
echo $image_src[1]; 

.

1

시도 : (이 훨씬 더 아니더라도)

${"image_src$i"} = $image_id.'_'.$i; 

나에 대한 가독성 :

$name = "image_src".$i; 
$$name = $image_id.'_'.$i; 
5

다른 사람이 제대로 ${"image_src$i"}으로 대답했지만, 난 당신이

$image_src = array(); 
for ($i = 1; $i <= $nr_of_pics; $i++) { 
    $image_src[$i] = $image_id.'_'.$i; 
} 

echo $image_src[1]; 
1
당신이 구문을 사용할 필요가

를 달성하기 위해 노력하고 무엇도 당신이 arrays를 사용하는 것이 좋습니다 싶습니다

${'image_src'.$i} = $image_id.'_'.$i; 
관련 문제