2012-10-18 3 views
-1
foreach ($data as $key => $value) { 
    echo $key; // let say cars 
} 

이 가능 $cars

+3

"$ cars"라는 새 변수를 만들 수 있습니다. 이제 게시물을 수정하고 성취하고자하는 것을 설명하십시오. 질문마다 – Styxxy

+0

,'$ cars = "cars";'. 정말로 당신이 무슨 뜻인지 명확히해야합니다. –

+0

컨트롤러에서 뷰에 $ 데이터를 전달하기 만하면됩니다. $ data [ 'cars']와 같이 호출해야합니다. 그리고 더 단순하게하기 위해 나는 그것이 $ cars가되기를 바란다 – fufu

답변

1

네, 그것은, variable variables를 사용과 같이, 가능 :

$key = 'cars'; 
$$key = 'honda'; //$cars variable is created 
echo $cars; //prints 'honda' 
+0

는 단지 $ cars = 'honda';를 말하는 것과 같지 않다; –

+0

@JonathanKuhn 예에서 예를 들자면 OP의 예제에서와 같이 배열에서 동적으로 '혼다'를 받으면 실제로 유용하다는 것을 알 수 있습니다. – Nelson

-1

은 $ 키 $ 값 변수 $ 키 $ 값 호출 할 필요가 없습니다라는 새로운 변수를 생성하는 것입니다. 변수의 이름을 원하는대로 바꿀 수 있습니다 (유효한 변수 이름).

foreach($data as $cars=>$model){ 
    echo "$cars => $model"; 
} 
0

난 당신이 요구하는지 생각 $key과 같은 이름의 새 변수를 만들 수있는 경우 'cars'은을 생성합니다., 'bikes'$bikes 등을 만들겠습니까?

가능합니다. 일반적으로 일을 끝내는 것이 가장 좋은 방법은 아니지만 가능합니다.

$data = array(
    'cars' => 7, 
    'bikes' => 3 
); 

foreach ($data as $key => $value) { 
    $$key = $value; 
} 

echo $cars; // 7 
echo $bikes; // 3 
+1

@downvoter 왜 댓글을 추가 할 수 있습니까? – Baba

2

extract()을 찾고 계십니까?

$data = array('thing' => 'ocean' 
       'size' => 'big' 
       'color' => 'blue'); 

extract($data); 

echo "The $thing is $size and $color."; 

Prints:

바다는 크고 파란색입니다.


당신 사용 foreachvariable variables이 할 :

foreach ($data as $key => $value) 
{ 
    $$key = $value; 
} 

을하지만이 단순 또는 extract()의 옵션을 제공하지 않습니다 (예 : extract(), 당신은 추가 할 수 있습니다 접두사, 충돌 처리 방법 제어)

관련 문제