2012-04-09 7 views
0

배열과 같습니다 : $myarray = array("color", "red", "size", "big", "flavor", "bitter"); 여기서 색상, 크기 및 풍미는 키이고 다른 하나는 값입니다. 배열의 값만 true로 루프 할 수 있습니까? , 어떤 도움이 네 그러나 감사배열의 키와 값을

+0

도 그랬어 foreach는 함께 ** 귀찮게을 사용하십시오. foreach.php)? 또는'foreach' 루프와 같은 기본적인 것들을 다루는 PHP 튜토리얼을보십시오. –

+0

예! 해당 페이지가 Google에 표시되지 않았습니다. – user983248

+0

[틀린] (https://www.google.com/#hl=ko&sugexp=epsugrst&gs_nf=1&tok=qrtfH5AQ5NgenBG_TbibEQ&cp=13&gs_id=1e&xhr=t&q=php+foreach+loop&pf=p&output= search & sclient = psy-ab & oq = php + foreach + l & aq = 0P & aqi = g-P1g3 & aql = f & gs_l = & pbx = 1 & bav = on.2 또는 .r_gc.r_pw.r_cp.r_qf., cf.osb & fp = 87c6230bd8e448f1 & biw = 1599 & bih = 897). –

답변

2
while (list(, $key) = each($array)) { 
    $value = current($array); 
    next($array); 

    echo $key, ': ', $value, PHP_EOL; 
} 

을 이해할 수있을 것이다

<table> 
<thead> 
    <tr> 
    <th>Color</th> 
    <th>Size</th> 
    <th>Flavor</th> 
    </tr> 
</thead> 
<tbody> 
     // I'm stuck here because I don't know how to get the values of each array 
</tbody> 
</table> 

:

은 그 같은 몇 가지 배열 그래서 난 단지 테이블을 만들고 같이 그 값을 표시 할 필요가있다 이 임시 솔루션 대신 적절한 연관 배열을 사용해야합니다.

3

귀하의 syntax은 약간 꺼져 있습니다.

$myarray=array(
    'color'=>'red', 
    'size'=>'big', 
    'flavor'=>'bitter' 
); 

을 그리고 당신은과 같이 값을 잡을 수 있습니다 :과 같이 배열을 시도

<table> 
    <thead> 
     <tr> 
      <?php 
       $keys=array_keys($myarray); 
       foreach($keys as $key) { 
        echo('<th>'.$key.'</th>'); 
       } 
      ?> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <?php 
       foreach($myarray as $val) { 
        echo('<th>'.$val.'</th>'); 
       } 
      ?> 
     </tr> 
    </tbody> 
</table> 
:
$color=$myarray['color']; 
$size=$myarray['size']; 
$flavor=$myarray['flavor']; 

또는 위의 배열

, 당신은 루프의 몇 가지를 할 수있는

array_keys() documentation 다음은 배열을 변환하는 간단한 함수입니다. 비트 원유 있지만, 그것은 잘 모든 것을 처리합니다

<?php 
    function addKey($arr) { 
     $newArr=array(); 
     $key=null; 
     foreach($arr as $val) { 
      if(!$key) { 
       $key=$val; 
      } else { 
       $newArr[$key]=$val; 
       $key=null; 
      } 
     } 
     return($newArr); 
    } 
    $myarray=array('color','red','size','big','flavor','bitter'); 
    $myNewArray=addKey($myarray); 
?> 

그리고 사용, 뭔가 같은 :

<?php 
    foreach($myNewArray as $key=>$val) { 
     echo('<p>Key: '.$key.'<br />Value: '.$val.'</p>'); 
    } 
?> 

어떤 출력 :

Key: color 
Value: red 

Key: size 
Value: big 

Key: flavor 
Value: bitter 
+0

위대한지만, 배열은 내가 질문에 붙여 형식으로되어 있습니다. 배열의 공백을'=>'로 바꾸는 방법이 있습니까? – user983248

+0

현재 배열에 키를 추가하는 기능에 대한 내 대답을 확인하십시오. 이 함수는 입력 배열이 (키, 값, 키, 값, 키 등)와 같이 순서가 하나 인 경우에만 작동합니다. – faino

0

잘못 배열을 정의하고 있습니다.

$myarray=array(
    'color'=>'red', 
    'size'=>'big', 
    'flavor'=>'bitter' 
); 

그런 다음 [문서] (http://php.net/manual/en/control-structures보고 **

foreach($myarray as $key => $value) { 
    echo $key; //echoes the indexes like color 
    echo $value; //echoes values like red 
} 
관련 문제