【问题标题】:possibility of accessing an array reverse and forward in a single for loop?在单个 for 循环中反向和正向访问数组的可能性?
【发布时间】:2015-10-02 07:14:37
【问题描述】:

我在一个面试问题中被问到这个问题,你可以在一个 for 循环中访问和向前和向后排列数组,例如他问我你有一个你名字的数组

  $array = ('s','a','f','i','r');     

你会怎么做?

当人们询问输出时,输出应该是

数组前向 = safir

数组后向 = rifas

【问题讨论】:

  • 我不明白这个问题。在循环中访问字母的期望结果或期望顺序是什么?
  • 还添加预期输出..
  • 当然,您可以随心所欲地使用循环内的数组,为什么不呢?这个问题可能是为了让你想得太复杂。人们会自动想到循环迭代的数组。但问题实际上并没有提到这一点。但是即使 if 就是这个意思,那么当然,您可以使用 for 循环并在循环内根据自己的喜好递增或递减索引变量(指针)。
  • 能否请您发布您的预期输出
  • 简单地向前和向后迭代数组?他告诉我任何数组,所以我只提我的名字

标签: php arrays loops for-loop


【解决方案1】:

您可以在循环中简单地计算相应的访问索引:

$forward = $backwards = '';
for ($pos = 0, $lastIndex = count($array) - 1; $pos <= $lastIndex; $pos++) {
    $forward .= $array[$pos];
    $backwards .= $array[$lastIndex - $pos];
}

【讨论】:

  • 刚刚更新了代码以反映预期的输出。
【解决方案2】:
$j = count($array)-1;
$forward="";
$reverse="";
for($i=0;$i<=count($array)-1;$i++){
    $forward.= $array[$i];
    $reverse.= $array[$j];
    $j--;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 2023-03-05
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2021-04-27
    相关资源
    最近更新 更多