drqvr26084
drqvr26084
采纳率100%
2017-06-29 05:06 阅读 35
已采纳

如何在PHP中使用&& in foreach?

   $videoskey_list = explode(',',$result[$x]["videos_key"]);
   $videosname_list = explode(',',$result[$x]["videos_name"]); 

   foreach($videoskey_list as $videoskey => $videos_key && $videosname_list as $videosname => $videos_name) 
    {
        echo '  <button id="playtrailer" class="playtrailer" data-src="'.$videos_key.'"> '.$videos_name.' </button>';
    }

How do i use && in foreach. It should work, right? Or PHP do not support && in foreach?

Error

Parse error: syntax error, unexpected '&&' (T_BOOLEAN_AND),

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    dongye9182 dongye9182 2017-06-29 05:16

    If your keys and values are both means this should be work...

    $videoskey_list = explode(',',$result[$x]["videos_key"]);
    $videosname_list = explode(',',$result[$x]["videos_name"]);
    foreach( $videoskey_list as $index => $videos_key ) {
       echo '  <button id="playtrailer" class="playtrailer" data-src="'.$videos_key.'"> '.$videosname_list[$index].' </button>';
    }
    

    EDITED: If we use array_combine The both array should be equal. Here We can use How many keys we have that much Output will get here.

    In array_merge The both arrays are merged so we can't fine the same key and value.

    Explanation For this Answer:

    First we get an videoskey_list As key and Value. If match the Key with the Value. We can use videoskey_list's key as videosname_list's index. For example check here with this code.

    $numbers = array('1','2','3');
    $alpha = array('a','b','c');
    foreach( $numbers as $index => $number ) {
      echo $number .'->'. $alpha[$index] .'<br />';
    }
    
    点赞 评论 复制链接分享
  • doujian4752 doujian4752 2017-06-29 05:09
    $videos_list = array_combine($videoskey_list, $videosname_list);
    foreach($videos_list as $key => $name) {
        // ...
    }
    
    点赞 评论 复制链接分享
  • dpjtn48868 dpjtn48868 2017-06-29 05:12

    You can use array_combine()

    $videoskey_list = explode(',',$result[$x]["videos_key"]);
    $videosname_list = explode(',',$result[$x]["videos_name"]); 
    
    foreach (array_combine($videoskey_list, $videosname_list) as $videos_key => $videos_val) {
        echo '  <button id="playtrailer" class="playtrailer" data-src="'.$videos_key.'"> '.$videos_val.' </button>';
    }
    

    OR

    Use array_merge()

    foreach (array_merge($videoskey_list, $videosname_list) as $videoskey => $videos_val) {
            echo '  <button id="playtrailer" class="playtrailer" data-src="'.$videos_key.'"> '.$videos_val.' </button>';
        }
    

    Demo

    <?php
    $videoskey_list = array('111','222','333');
    $videosname_list = array('test','abc','xyz');
    
    foreach (array_combine($videoskey_list, $videosname_list) as $videos_key => $videos_val) {
      echo '  <button id="playtrailer" class="playtrailer" data-src="'.$videos_key.'"> '.$videos_val.' </button>';
    }
    

    Output

    <button id="playtrailer" class="playtrailer" data-src="111"> test </button>  
    <button id="playtrailer" class="playtrailer" data-src="222"> abc </button>  
    <button id="playtrailer" class="playtrailer" data-src="333"> xyz </button>
    

    Demo Link: Click Here

    点赞 评论 复制链接分享

相关推荐