2013-09-02 1 views
0

는 그래서 같은 배열을 가지고, 그리고 난 같은 저점을 반복하고있다 :Looping Trough Associative Array가 예상대로 작동하지 않습니까?

Value=test 
Value=test2 
Value=test3 

지금 내 배열 및 루프 통에 몇 가지 옵션을 추가 할 :

$options = array(); 
$options[0] = 'test1'; 
$options[1] = 'test2'; 
$options[2] = 'test3'; 


    foreach($options as $x) 
{ 
echo "Value=" . $x ; 
echo "<br>"; 
} 

이 예상대로 출력 그들 :

$options = array(); 
$options['first_option'] = 'test'; 
$options['second_option'] = get_option('second_option'); 
$options['third_option'] = get_option('third_option'); 

foreach($options as $x) 
{ 
    echo "Value=" . $x ; 
    echo "<br>"; 
} 

하지만 내가 원하는대로 작동하지 않습니다. 이 출력되므로 :

Value=first_option 
Value=second_option 
Value=third_option 

을 그래서 지금은이 사람들로부터 foreach는를 사용하여 저장된 값에 액세스하는 방법을 몰라? 뭔가 같은 :

Value=first_option='test' 

그래서 print_r($options)
출력을 사용할 때입니다 :

Array 
(
[first_options] => test 
[second_option] => 
[third_option] => 
) 
1 
+0

'echo '의 출력을 보여줄 수 있습니까

',print_r($options),'
'; –

답변

4

루프는 다음과 같아야합니다

귀하의 코드는 단지 예상하고있다으로
foreach($options as $key => $val){ 
    echo "Val: ".$val; 
    echo "<br/>"; 
} 
+0

그건 속임수 였어. 나는 PHP를 정말 빨아 먹는다 : '( –

1

및 원하는 결과를 얻는다. $options에 다른 값을 변경해야합니다. 수정 : 편집을 보았으므로 함수에서 값을 반환하지 않으므로 옵션 1과 2는 비어 있습니다. 함수가 무언가를 반환하는지 확인하십시오. 그 외에도이 코드는 모두 훌륭합니다.

foreach($options as $key => $value) { 
    echo "Value - {$value} = {$key}<br>"; 
} 

또는 적어도 단지 []array()을 대체 할 수 :

$options = [ 
    'first_option' => 'test', 
    'second_option' => get_option('second_option'), 
    'third_option' => get_option('third_option') 
]; 

foreach($options as $key) { 
    echo "Value = {$key}<br>"; 
} 

당신은 또한 사용할 수 있습니다 그런데

, 나는이 좋습니다. 그것들은 깔끔함을위한 몇 가지 제안 일뿐입니다.

관련 문제