dt250827 2016-02-11 13:44
浏览 99
已采纳

Foreach循环两个不相等的数组

I know how to loop through equal arrays like this

foreach( $codes as $index => $code ) {
   echo 'The Code is '.$code;
   echo 'The Name is '.$names[$index];
}

Not sure how to loop through these 2 arrays and still manage to get all values when both arrays have different number of elements.

$code = array(R9,R10,R11,R12);

$names = array(Robert,John,Steve,Joe,Eddie,Gotham);
  • 写回答

1条回答 默认 最新

  • doubao6681 2016-02-11 14:13
    关注

    ...how to loop through these 2 arrays and still manage to get all values when both arrays have different number of elements.

    You can use for loop for this.

    The solution is:

    • Take length of the longest array as the condition for for loop.
    • Use array_key_exists() function to check whether the index exists in the particular array or not, and display the element accordingly.

    So your code should be like this:

    $code = array("R9","R10","R11","R12");
    $names = array("Robert","John","Steve","Joe","Eddie","Gotham");
    
    $maxLength = count($code) > count($names) ? count($code) : count($names);
    
    for($i = 0; $i < $maxLength; ++$i){
        echo array_key_exists($i, $code) ? 'The Code is '. $code[$i] : "";
        echo array_key_exists($i, $names) ? ' The Name is '. $names[$i] : "";
        echo "<br />";
    }
    

    Output:

    The Code is R9 The Name is Robert
    The Code is R10 The Name is John
    The Code is R11 The Name is Steve
    The Code is R12 The Name is Joe
    The Name is Eddie
    The Name is Gotham
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 代写uni代码,app唤醒
  • ¥15 全志t113i启动qt应用程序提示internal error
  • ¥15 ensp可以看看嘛.
  • ¥80 51单片机C语言代码解决单片机为AT89C52是清翔单片机
  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下: