2013-01-03 2 views
-1

이 PHP 코드에서 while 루프 중에 $menu_1, $menu_2$menu_3이라는 3 개의 변수를 사용하고 싶습니다. PHP에서도 가능합니까?PHP에서 동적 변수를 만들고 연결하는 방법은 무엇입니까?

while($parent_row = mysql_fetch_array($parent_result)){ 
    $menu_ = ""; 
    $menu_ . $i = "\n\t$('#menu_" . $i . "').hover(function() {"; 
} 
echo $menu_1; 
echo $menu_2; 
echo $menu_3; 
+1

PHP 배열 http://php.net/manual/en/language.types.array.php를 연구 한 다음 "PHP 동적 변수"를 검색해야합니다. 첫 번째 결과는 항상 docs에있는 php.net (PHP는 매우 인기있는 언어 임)에 있습니다. –

+0

고맙습니다. 내가하고있는 일은 다소 까다 롭습니다. 정확한 장소에 삽입 된 jquery/css 조각이 필요합니다. PHP를 처음 접하는 링크에 감사드립니다. – JoJo

+0

@mario 우리는 동의하지 않습니다. – JoJo

답변

3

당신은 그것을 위해 중괄호를 사용할 수 있습니다.

더하기 mysql_* 기능은 더 이상 사용되지 않습니다. PDO 또는 mysqli 방법으로 이동하십시오.

+0

나는 당장 PDO 나 mysqli를 살펴볼 것이다. 나는 고전적인 asp 코드와 비교해도 $$을 확실하게 쫓아내는 '오래된'방법에 대해 정직해야한다. – JoJo

+0

위의 질문에 위 답변을 드렸습니다. 나는 확실히 배열을 사용할 것이다 !! 그리고 데이터베이스 호출을 변경합니다. 고맙습니다. – JoJo

0

대신 배열을 사용하지 않는 이유는 무엇입니까?

${'menu' . $i} 

을하지만 난 강력하게 당신이 당신이 루프 내에서 필요한 물건을 에코 조언 :

$menu[$i] = "\n\t$('#menu_" . $i . "').hover(function() {"; 
3

누군가가 "동적 변수"라고 말할 때마다 큰 붉은 깃발입니다. 당신은 그것들을 할 수 있지만 그것은 99 %의 나쁜 생각입니다. 아마 당신이 찾고있는 것은 배열입니다. 당신이 작성하는 경우 :

$menus = array(); 
while($parent_row = mysql_fetch_array($parent_result)){ 
    $menus[$i] = "\n\t$('#menu_" . $i . "').hover(function() {"; 
} 
echo $menus[1]; 
echo $menus[2]; 
echo $menus[3]; 

당신은 당신이 동적 변수 이름은 당신을 줄 것이다 유지 보수 두통 & 잠재적 인 재앙으로 탐구하지 않고 계신거야. $menus을 통해 쉽게 반복 할 수 있기 때문에 갑자기 2, 4 또는 40 개의 다른 요소가있을 때 좋은 결과를 얻을 수 있습니다.

+0

감사합니다. 아마 대부분의 작업에서이 작업을 수행 할 것입니다. 정말 감사. – JoJo

1

가능합니다. 대괄호를 사용하십시오. 이 예를 살펴 보겠습니다 :

<?php 

$one = 1; 

$suffix_one = "_".$one; 
$suffix_two = "_2"; 

$base_1 = "VALUE ONE"; 
$base_2 = "VALUE TWO"; 

echo ${"base".$suffix_one}." , ".${"base".$suffix_two}; 

?> 

결과 : 다른 사용자가 말한 것처럼

VALUE ONE , VALUE TWO 

은 물론, 당신은보다 효율적으로 사용하는 배열을 것입니다. 그러나 나는 당신의 정보를 위해 어쨌든 대답했다.

관련 문제