2016-08-30 3 views
0
내가 조건부 논리에 대한 플러그인을 만드는거야

에 대해 제공하지만 난이 오류가 있습니다잘못된 인수가 foreach는 논리적 조건

function xwtLoadVariationSettingsFields($variations) { 
    $fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 
    echo '<div class="xwtVariationFields">'; 
    foreach($fields as $k=>$v){ 
     $kParts = explode("--",$k); 
     $field1 = explode("__",$kParts[0]); 
     $field2 = explode("__",$kParts[1]); 
     $div = '<div firstID="'.$field1[0].'" firstVal="'.$field1[1].'" secondID="'.$field2[0].'" secondVal="'.$field2[1].'" value="'.$v.'"></div>'; 
     echo $div; 
    } 
    echo '</div>'; 
    return $variations; 

} 

제안 :이 코드는

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\ on line 128 

입니까?

+1

* 제안 하시겠습니까? * 예 - 사용하려는 언어에 대한 태그를 추가하려면 게시물을 작성하십시오. –

답변

0
function xwtLoadVariationSettingsFields($variations) { 
    $fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 
    echo '<div class="xwtVariationFields">'; 
    if(is_array($fields) && !empty($fields)){ 
     foreach($fields as $k=>$v){ 
      $kParts = explode("--",$k); 
      $field1 = explode("__",$kParts[0]); 
      $field2 = explode("__",$kParts[1]); 
      $div = '<div firstID="'.$field1[0].'" firstVal="'.$field1[1].'" secondID="'.$field2[0].'" secondVal="'.$field2[1].'" value="'.$v.'"></div>'; 
      echo $div; 
     } 
     } 
    echo '</div>'; 
return $variations; 
} 
0

Google foreach, json_decodeget_post_meta 기능입니다. foreach에서 $fields은 배열이어야합니다. 내 생각 엔 그 것이다

$fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 

배열을 반환하지 않습니다.

관련 문제